-
-
Notifications
You must be signed in to change notification settings - Fork 1
Troubleshooting
The login-state entry lives for about a minute. If the round-trip to your provider takes longer, or the callback lands on a different plugin instance, retry the sign-in. States are per-instance and in-memory.
Because SAML validation is fail-closed, a rejected login usually means one of:
- the response signature does not cover the consumed assertion, or is missing;
- the assertion is expired or not yet valid (check clock sync between your IdP and server);
- the assertion's
AudienceRestrictiondoes not match this service provider (set the expected audience, or opt out only if your provider cannot emit it); - the same assertion was already used (replay).
Check the server log for the specific [SSO entry.
A first SSO login matched an existing, unlinked Jellyfin account with the same name. This
is refused by default to prevent account takeover. If adopting that account is intended,
enable AllowExistingAccountLink for the provider, or link it via /SSOViews/linking.
Make sure you copied the full publish output (all DLLs), not just SSO-Auth.dll. See
Installation.
Still stuck? Open an issue with your Jellyfin version, plugin version, provider, and the
relevant [SSO log lines (redact secrets).
Repository · Issues · Releases · Security policy - report vulnerabilities privately, never in a public issue. Pages describe what is implemented today; if the wiki disagrees with the code, the code wins.
Getting started
- Installation
- Provider Setup
- Hardening & Options Reference
- Migrating from 9p4
- Troubleshooting
- Rollback
How it works
Security
- Security Model
- Security Conformance (ASVS / RFC 9700)
- SSO-Only Login - design record
- Single Logout - design record
Standards & process (internal / maintainer)