[Feature Request] Support for Keycloak / OIDC authentication
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Active
- Tech stack
- laravel, php
- Domain
- authentication, backend
Research direction
No files, tests, or entry points are named. Start by confirming maintainer acceptance and reviewing the existing local authentication flow alongside Laravel's Socialite options for Keycloak/OIDC. Done would mean optional environment-variable configuration, successful authorization and basic user provisioning, with default local authentication unchanged.
Written by the indexing model from the issue text.
Description
Describe the issue
Heimdall currently relies solely on local database authentication (username/password or PIN). In environments that use centralized identity management (such as Keycloak or other OIDC providers), this requires managing separate local credentials rather than leveraging existing Single Sign-On (SSO) infrastructure.
Describe the solution you'd like
Add optional support for OpenID Connect / OAuth2 authentication, focused on Keycloak.
At a high level, the approach would:
- Be completely optional, activated only via environment variables without affecting default local authentication.
- Use standard Laravel OAuth tools (such as Socialite) to handle the authorization flow.
- Handle basic user provisioning upon successful authentication.
Additional context
Before diving deeper into the implementation details, I wanted to check with the maintainers if this is a feature you would consider accepting upstream.
If this aligns with the project's direction, I would be happy to work on the implementation and submit a Pull Request for review.
- Dominant language
- PHP
- Stars
- 9.3k
- Forks
- 629
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 9
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from linuxserver/Heimdall
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
linuxserver/Heimdall#1606 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
linuxserver/Heimdall#1596 · 1 comment ·
-
Difficulty 3/5 1-2 days Newbie friendliness 55/100
linuxserver/Heimdall#1588 · 3 comments ·
All issues in linuxserver/Heimdall
Similar issues
-
priority: p3
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
googleapis/librarian#7636 ·
-
0. Needs triage bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
nextcloud/fulltextsearch#1011 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
phpstan/phpstan-doctrine#794 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Automattic/static-site-importer#1767 ·