Comment se connecter en SSO à Jellyfin avec Authentik

Authentik permet de sécuriser vos services en centralisant l’authentification. Ce guide vous explique comment configurer l’authentification unique avec Authentik et Jellyfin, afin d’accéder directement à votre serveur en et se connecter en SSO à Jellyfin sans passer par la page de connexion classique.

Avant de commencer, si vous n’avez pas encore mis en place Authentik, allez voir le guide Comment sécuriser vos services grâce au Fournisseur d’Identité Authentik pour installer et configurer Authentik.

Configurer Authentik

Créer une property mapping

Allez dans Customisation → Property Mappings → Create et sélectionnez Scope Mapping :

  • Name = Group Membership
  • Scope name = groups
  • Expression = return [group.name for group in user.ak_groups.all()]
Image montrant la création d'une property mapping pour se se connecter en SSO à Jellyfin

Créer un provider

Allez dans Applications → Providers → Create, choisissez OAuth2/OpenID Provider :

  • Name = Jellyfin
  • Authentication flow = default-authentication-flow (Welcome to authentik!)
  • Authorization flow = default-provider-authorization-implicit-consent (Authorize Application)
  • Redirect URLs/Origins = https://jellyfin.domain.com/sso/OID/redirect/authentik et https://jellyfin.domain.com/sso/OID/r/authentik. Pensez à modifier le lien avec le lien où vous accédez Jellyfin.
  • Puis dans Advanced protocol settings, ajouter Group Membership aux scopes déjà sélectionnés (vous pouvez faire Ctrl + clique gauche)
Image 1 montrant la création du provider Jellyfin pour se se connecter en SSO à Jellyfin
Image 2 montrant la création du provider Jellyfin pour se se connecter en SSO à Jellyfin
Image 3 montrant la création du provider Jellyfin pour se se connecter en SSO à Jellyfin

Notez votre Client ID et Secret, vous en aurez besoin plus tard.

Maintenant, cliquez sur votre nouveau provider pour ouvrir la page d’aperçu. Ici, notez l’URL de OpenID Configuration Issuer. De plus, si vous cliquez sur Edit, vous pouvez retrouver votre Client ID et Secret.

Créer une application

Comme pour vos autres applications, créez une nouvelle application et assignez-y le provider.

Configurer Jellyfin

Installer le plugin SSO

Tout d’abord, vous allez devoir rajouter le package repo à votre catalogue d’extensions Jellyfin. Pour cela, dans Jellyfin, allez dans Tableau de bord → Catalogue → Cliquez sur l’icône des paramètre à gauche du bouton Aide → Cliquez sur le bouton + :

Image montrant l'ajout du dépôt à Jellyfin

Retournez dans l’onglet Catalogue, puis trouvez le plugin SSO Authentication et installez-le.

Image montrant l'icon du plugin sso
Image montrant l'activation du plugin sso

Paramétrer le plugin SSO

Allez dans l’onglet Mes extensions puis trouvez le plugin SSO-Auth et modifiez les paramètres du plugin comme suit et cliquez sur Save:

  • Name = authentik
  • OID Endpoint = l’URL de OpenID Configuration Issuer que vous avez noté. Par exemple, https://auth.domain.com/application/o/jellyfin/
  • OpenID Client ID = le client ID que vous avez noté
  • OpenID Client ID = même chose avec le secret
  • Cochez Enabled et Enable All Folders
  • Role Claim = groups
  • Request Additional Scopes = [« groups »]
  • Scheme Override = https

Attention ! Faites bien attention à ce que le name corresponde bien a ce qu’il y a après le /r et /redirect de vos Redirect URLs/Origins. Ici j’ai mis deux fois authentik, les deux doivent correspondre.

Bravo, vous avez configuré le plugin SSO avec succès.

Se connecter en SSO à Jellyfin : Conclusion

Pour se connecter en SSO à Jellyfin, vous devez maintenant accéder à Jellyfin sans passer par la page de connexion grâce au lien suivant : https://jellyfin.domain.com/sso/OID/p/authentik

Comme précédemment, si jamais vous avez changé le nom authentik lors de la création du Provider dans la page du plugin, pensez à remplacer la fin de l’URL, après /p.

Vous pouvez par exemple rajouter l’URL à votre page d’accueil. Si vous n’en avez pas encore créé une, vous pouvez aller voir le guide Créer une page d’accueil pour ses applications avec Homepage.

Si jamais vous avez l’erreur Error processing request. depuis Jellyfin lors d’une tentative de connexion, essayez d’activez l’option Do not validate endpoints dans les paramètres du plugin.

Laisser un commentaire