-
-
Notifications
You must be signed in to change notification settings - Fork 957
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feature req] add OIDC authentication + roles #858
Comments
Thanks! Multiple authentication backend will be implemented at some point, but the priority now is to decide how to work around the Subsonic API limitations regarding authentication: #202 (comment). |
This issue has been automatically marked as stale because it has not had recent activity. The resources of the Navidrome team are limited, and so we are asking for your help. |
Bumping this as something I'm still keen to see in Navidrome. |
This issue has been automatically marked as stale because it has not had recent activity. The resources of the Navidrome team are limited, and so we are asking for your help. |
This bot is a bit overeager, the issue is still very much relevant. |
One way to handle this would be to provide separate Subsonic authentication passwords. A password could be autogenerated when a user gets created. While this password will be stored in database it would only be used for subsonic authentication and would not allow login into the UI or access anything not supported by subsonic. The main user password could then be properly hashed. This does not fully eliminate all risks, but limits the impact of the password. Especially for admin accounts, but also normal accounts. |
Agreed, generating a random token for subsonic auth seems like a reasonable way to address this. |
This issue has been automatically marked as stale because it has not had recent activity. The resources of the Navidrome team are limited, and so we are asking for your help. |
This bot is a bit overeager, the issue is still very much relevant. |
Indeed, SSO via OIDC is thanks to Authentik and Authelia easily embeddable. |
One way this could work is using app passwords for subsonic, like nextcloud uses for Caldav when it is using OIDC. |
Looking forward for OIDC support with Authentik, too |
https://swagger.io/docs/specification/authentication/openid-connect-discovery/
This would allow things like SSO through an external service like Keycloak, which generates
.well-known
automatically. A generic OIDC authenticator is preferable to service-specific logins like Google, Facebook, etc.One way to do this would be to have multiple Authenticators, like an
OIDCAuthenticator
and aLocalAuthenticator
, which is the current behavior. Having an option to disable theLocalAuthenticator
entirely and only populate users through theOIDCAuthenticator
would be preferable.For admins: One solution is either the
access
token or theauth
token could have aroles
object, which would look for a role namedadmin
.The text was updated successfully, but these errors were encountered: