Skip to content

Instantly share code, notes, and snippets.

@doino-gretchenliev
Last active May 31, 2024 04:31
Show Gist options
  • Save doino-gretchenliev/d9faf0bf1bbad8919764cd1fbf8d2c64 to your computer and use it in GitHub Desktop.
Save doino-gretchenliev/d9faf0bf1bbad8919764cd1fbf8d2c64 to your computer and use it in GitHub Desktop.
Home Assistant RADIUS authentication #home-assistant #homeassistant #radius #authentication #python
homeassistant:
auth_providers:
- type: command_line
command: "/config/auth/radius-auth.sh"
meta: true
#!/usr/bin/env python
import os
import radius
radius_client = radius.Radius('secret',
host='127.0.0.1',
port=1883)
def main():
username = os.environ['username']
password = os.environ['password']
try:
print("# Trying authentication for user [{}]".format(username))
result = radius_client.authenticate(username, password)
except:
print("# Error during authentication!")
exit(1)
if result:
print("name = {}".format(username.capitalize()))
print("# User [{}] successfully authenticated!".format(username))
exit(0)
else:
print("# Authentication failed for user [{}].".format(username))
exit(1)
if __name__ == "__main__":
main()
#!/usr/bin/env bash
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
python $SCRIPT_DIR/home-assistant-radius-auth.py
-e git+git://github.com/btimby/py-radius.git@6c277f89207dd877e930d69fa59681b2279ffbac#egg=radius
@k-brok
Copy link

k-brok commented Sep 28, 2022

Hi, I tried to install your scripts.

I'm running HA os on ODROID. At first I installed python3.
I installed radius with pip command (not with the requirement file).

However when I try to login, I get a ivalid username error.
In HA log I see a Permission denied error on the radius-auth-sh file.

What can I do to fix this?

@cmos486
Copy link

cmos486 commented Oct 14, 2022

Is there any way for users not to be administrators?

@doino-gretchenliev
Copy link
Author

Is there any way for users not to be administrators?

It's an authentication script. Probably you can attach roles to users afterwards.

@saya6k
Copy link

saya6k commented Sep 2, 2023

Hi, do you have any plan to make this as custom component in HACS? It would be much easier to install requirements and use your awesome code :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment