{"id":26749650,"url":"https://github.com/christiaangoossens/hass-oidc-auth","last_synced_at":"2026-04-20T20:00:42.107Z","repository":{"id":98771432,"uuid":"571557322","full_name":"christiaangoossens/hass-oidc-auth","owner":"christiaangoossens","description":"OpenID Connect authentication provider for Home Assistant","archived":false,"fork":false,"pushed_at":"2026-04-20T12:27:51.000Z","size":1491,"stargazers_count":859,"open_issues_count":8,"forks_count":48,"subscribers_count":27,"default_branch":"main","last_synced_at":"2026-04-20T13:26:08.835Z","etag":null,"topics":["authelia","authentik","custom-integration","hacktoberfest","hacs","homeassistant","integration","keycloak","oauth2","oidc","openid","openid-connect","pocket-id","single-sign-on","sso"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/christiaangoossens.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":"FUNDING.yml","license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"christiaangoossens"}},"created_at":"2022-11-28T11:50:10.000Z","updated_at":"2026-04-20T12:27:52.000Z","dependencies_parsed_at":"2026-01-05T15:04:14.870Z","dependency_job_id":"8298148e-e878-41dc-aadc-9547643b7ada","html_url":"https://github.com/christiaangoossens/hass-oidc-auth","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/christiaangoossens/hass-oidc-auth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christiaangoossens%2Fhass-oidc-auth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christiaangoossens%2Fhass-oidc-auth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christiaangoossens%2Fhass-oidc-auth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christiaangoossens%2Fhass-oidc-auth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/christiaangoossens","download_url":"https://codeload.github.com/christiaangoossens/hass-oidc-auth/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/christiaangoossens%2Fhass-oidc-auth/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32063458,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authelia","authentik","custom-integration","hacktoberfest","hacs","homeassistant","integration","keycloak","oauth2","oidc","openid","openid-connect","pocket-id","single-sign-on","sso"],"created_at":"2025-03-28T11:29:17.903Z","updated_at":"2026-04-20T20:00:42.101Z","avatar_url":"https://github.com/christiaangoossens.png","language":"Python","funding_links":["https://github.com/sponsors/christiaangoossens"],"categories":["Python","Custom Integrations"],"sub_categories":["🔐 Network \u0026 authentication"],"readme":"\u003c!-- Based on the Best-README-template from https://github.com/christiaangoossens/hass-oidc-auth --\u003e\n\u003ca id=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![MIT License][license-shield]][license-url]\n\n\u003c/div\u003e\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/christiaangoossens/hass-oidc-auth/\"\u003e\n    \u003cimg src=\"./docs/logo.png\" alt=\"Logo\" width=\"80\" height=\"80\"\u003e\n  \u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003eOpenID Connect for Home Assistant\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    OpenID Connect (OIDC) implementation for Home Assistant through a custom component/integration,\u003cbr/\u003ewith a strong focus on \u003cb\u003esecurity, stability and accessibility.\u003c/b\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"./docs/configuration.md\"\u003eYAML Configuration Guide\u003c/a\u003e\n    \u0026middot;\n    \u003ca href=\"./CONTRIBUTING.md\"\u003eContribution Guide\u003c/a\u003e\n    \u0026middot;\n    \u003ca href=\"./docs/faq.md\"\u003eFrequently Asked Questions (FAQ)\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/christiaangoossens/hass-oidc-auth/discussions?discussions_q=is%3Aopen+category%3AAnnouncements+category%3APolls\"\u003eAnnouncements \u0026 Polls\u003c/a\u003e\n    \u0026middot;\n    \u003ca href=\"https://github.com/christiaangoossens/hass-oidc-auth/issues\"\u003eIssues\u003c/a\u003e\n    \u0026middot;\n    \u003ca href=\"https://github.com/christiaangoossens/hass-oidc-auth/discussions/categories/q-a\"\u003eQuestions\u003c/a\u003e\n    \u0026middot;\n    \u003ca href=\"https://github.com/christiaangoossens/hass-oidc-auth/discussions/categories/ideas\"\u003eFeature Requests\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\nProvides a **stable and secure** OpenID Connect (OIDC) implementation for Home Assistant through a custom component/integration. With this integration, you can create a single-sign-on (SSO) environment in your self-hosted application stack / homelab.\n\nThe core values for this integration are:\n\n1. **Security**: strict adherence to the [OpenID Connect specification](https://openid.net/specs/openid-connect-core-1_0.html), [RFC 6749 (OAuth2)](https://datatracker.ietf.org/doc/html/rfc6749), [RFC 7519 (JWT)](https://datatracker.ietf.org/doc/html/rfc7519), [RFC 7636 (PKCE)](https://datatracker.ietf.org/doc/html/rfc7636) and [RFC 9700 (OAuth2 Security Best Practices)](https://datatracker.ietf.org/doc/html/rfc9700) as well as a focus on security tests in the automated test suite.\n2. **Stability**: minimal patching of the core Home Assistant code such that updates of HA are less likely to break the integration and leave you without a way to login.\n3. **Accessibility**: the integration should work for everyone as much as possible with default settings, regardless of your preferred authentication method.\n\n**TLDR**: *Login to Home Assistant with this integration should 'just work', every time, for everyone in your household ([even your dad](https://github.com/home-assistant/architecture/issues/832#issuecomment-1328052330)), securely.*\n\nIf you are deciding if this integration is the right fit for your setup, please see the [Frequently Asked Questions (FAQ)](./docs/faq.md) for more information.\n\n\n## Installation guide\n\nThe easiest way to install the integration is through [the Home Assistant Community Store (HACS)](https://hacs.xyz/). You can find usage instructions for HACS here: https://hacs.xyz/docs/use/.\n\nAfter installing HACS, search for \"OpenID Connect\" in the HACS search box or click the button below:\n\n[![Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=christiaangoossens\u0026repository=hass-oidc-auth\u0026category=Integration)\n\nNext, set up your OIDC provider. You can find setup guides for common providers here:\n\n| \u003cimg src=\"https://goauthentik.io/img/icon_top_brand_colour.svg\" width=\"100\"\u003e | \u003cimg src=\"https://www.authelia.com/images/branding/logo-cropped.png\" width=\"100\"\u003e | \u003cimg src=\"https://github.com/user-attachments/assets/4ceb2708-9f29-4694-b797-be833efce17d\" width=\"100\"\u003e |\n|:-----------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------:|\n| [authentik](./docs/provider-configurations/authentik.md)                                       | [Authelia](./docs/provider-configurations/authelia.md)                                     | [Pocket ID](./docs/provider-configurations/pocket-id.md)                                     |\n\nYou can also find additional provider guides in the [the Provider Configurations folder](./docs/provider-configurations). If your provider isn't specified, you can use either a **public client** (recommended) or **confidential client** with the callback URL set to `\u003cyour HA URL\u003e/auth/oidc/callback`.\n\nFinally, choose your preferred configuration style (UI or YAML). After configuration, you should automatically be sent to the OIDC login page(s) if you open Home Assistant (web or app).\n\n### Configuration in the HA UI\n\nThe recommended setup method for beginners is through the \"Integrations\" panel within the Home Assistant UI. \n\nMany configuration options are available through this method, but some advanced features are only available in YAML to simplify the setup process in the UI.\n\n1. Open Home Assistant and go to **Settings -\u003e Devices \u0026 Services**.\n2. Click Add Integration and select **OpenID Connect/SSO Authentication**.\n3. Follow the prompts on screen carefully.\n\n![UI Configuration GIF](./docs/ui-config-steps/ui-configuration.gif)\n\n### Configuration by YAML\n\nAlternatively, you can configure the integration using YAML. You can find a full configuration guide for YAML here: [YAML Configuration Guide](./docs/configuration.md).\n\n## Contributions\nContributions are very welcome! If you program in Python or have worked with Home Assistant integrations before, please try to contribute. You can find more information in the [Contribution Guide](./CONTRIBUTING.md).\n\n### Security issue?\nPlease see [SECURITY.md](./SECURITY.md) for more information on how to submit your security issue securely. You can find previously found vulnerabilities and their corresponding security advisories at the [Security Advisories page](https://github.com/christiaangoossens/hass-oidc-auth/security/advisories).\n\n## Background\nIf you would like to read the background/open letter that led to this component, you can find it at https://github.com/orgs/home-assistant/discussions/48. It is currently one of the most upvoted feature requests for Home Assistant.\n\n## License\nDistributed under the MIT license with no warranty. You are fully liable for configuring this integration correctly to keep your Home Assistant installation secure. Use at your own risk. The full license can be found in [LICENSE.md](./LICENSE.md)\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/christiaangoossens/hass-oidc-auth.svg?style=for-the-badge\n[contributors-url]: https://github.com/christiaangoossens/hass-oidc-auth/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/christiaangoossens/hass-oidc-auth.svg?style=for-the-badge\n[forks-url]: https://github.com/christiaangoossens/hass-oidc-auth/network/members\n[stars-shield]: https://img.shields.io/github/stars/christiaangoossens/hass-oidc-auth.svg?style=for-the-badge\n[stars-url]: https://github.com/christiaangoossens/hass-oidc-auth/stargazers\n[issues-shield]: https://img.shields.io/github/issues/christiaangoossens/hass-oidc-auth.svg?style=for-the-badge\n[issues-url]: https://github.com/christiaangoossens/hass-oidc-auth/issues\n[license-shield]: https://img.shields.io/github/license/christiaangoossens/hass-oidc-auth.svg?style=for-the-badge\n[license-url]: https://github.com/christiaangoossens/hass-oidc-auth/blob/main/LICENSE.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristiaangoossens%2Fhass-oidc-auth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchristiaangoossens%2Fhass-oidc-auth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristiaangoossens%2Fhass-oidc-auth/lists"}