Replies: 2 comments 9 replies
|
One scope note I should have included up front: this would touch both repos — the OIDC endpoints/settings/DB migration live in ShokoServer, but the login page also needs a small change in Shoko-WebUI (an opt-in SSO button plus handling the redirect back from the provider). Any review/decision here would need to account for changes landing in both places, not just the server. |
0 replies
|
I'll add one more con: it gives the illusion that shoko is secure. It is not |
9 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Context
There's been some Discord chat about letting ShokoServer authenticate against an external identity provider (Authentik, Keycloak, etc.) instead of — or alongside — local username/password accounts. Opening this as a discussion to weigh it up properly rather than jumping straight to a PR.
To be clear about scope: this would be additive, not a replacement. Local accounts and the existing
Auth/SignInflow would keep working exactly as they do today; OIDC would just be a second, opt-in way to obtain the same kind of API token, off by default, configured after install (not part of first-run setup).What this would look like technically
ShokoServer's auth model is already a good fit for this:
AuthController.SignInauthenticates a user and callsGenerateApiTokenForUser, which mints an opaque API token independent of how the user was authenticated. Adding OIDC means adding a second path into that same token-minting call:/Auth/Oidc/Challenge→ provider →/Auth/Oidc/Callback), using standard discovery (/.well-known/openid-configuration) and JWKS validation — no custom crypto.JMMUser(e.g.ExternalAuthID) to link an OIDC subject claim to a local account.Common open-source providers this would target
None of these are ShokoServer-specific — the point of OIDC is that any spec-compliant provider works the same way:
Any of these (or a hosted provider like Google/Microsoft/GitHub as an OIDC endpoint) would work without provider-specific code, since it's all just standard OIDC discovery + JWKS.
Pros
Cons / open questions
Ask
Mainly looking for a read from maintainers/community on:
Happy to open a WIP PR with a working prototype if there's interest — wanted to gauge direction first rather than land a large auth-adjacent PR unsolicited.
All reactions