Nextcloud : migrer d’une authentification Active Directory à OpenID avec Authentik

Si vous souhaitez passer d’une authentification Active Directory à OpenID avec Authentik sur Nextcloud, c’est possible à condition d’adapter le claim openid pour passer le GUID Active Directory comme sub sur Authentik.

Pour commencer, vous devez liée votre annuaire Active Directory comme provider dans Authentik afin qu’Authentik puisse avoir accès au GUID de vos utilisateurs.

Sur Nextcloud, installer l’application : OpenID Connect user backend qui va permettre de configurer l’authentification OpenID.

Ensuite sur Authentik, créer l’application et le provider qui va permettre l’authentification des utilisateurs en utilisant le fournisseur OpenID.

Avant de configurer Nextcloud, il faut adapter la configuration dans Authentik pour qu’il fournisse le GUID de l’utilisateur comme sub.

Dans Authentik, Créer une nouvelle propriété de mappage : Customization -> Property et cliquer sur le bouton Create.

Choisir une propriété de type : Scope Mapping 1 et cliquer sur Next 2.

Nommer 1 la propriété, Scope name 2 mettre openid, saisir une description 3 qui permet de se souvenir ce qu’elle fait puis dans le champ Expression 4 coller le code ci-dessous et cliquer sur Finish 5.

claims = {}

# Récupérer objectGUID si present
guid = request.user.attributes.get("objectGUID")

if guid:
	guid = guid.strip("{}").upper()
	claims["object_guid"] = guid
	claims["sub"] = guid  # Remplace le sub par GUID
else:
    claims["sub"] = str(request.user.uid)  # fallback UID

# Repasser le nonce pour PKCE/ID token
if hasattr(request, "nonce"):
    claims["nonce"] = request.nonce

return claims

Ensuite des les propriétés du provider (fournisseur) dans la section Advanced protocol setting, retirer authentik default Oauth Mapping: Openid ‘openid’ et remplacer par celui que l’on vient de créer et cliquer sur Update.

Il ne vous reste plus qu’à configurer Nextcloud pour utiliser Authentik.

Bien que ce tutoriel se concentre sur Nextcloud, la méthode présentée peut être appliquée à toute autre application utilisant Active Directory avec des GUID pour l’authentification. Grâce à la grande souplesse d’Authentik, il est possible de migrer progressivement vers OpenID tout en conservant la continuité des accès utilisateurs.

Romain Drouche
Architecte Système | MCSE: Core Infrastructure
Expert en infrastructures IT avec plus de 15 ans d’expérience sur le terrain. Actuellement Chef de projet Systèmes et Réseaux et Référent SSI (Sécurité des Systèmes d’Information), je mets mon expertise au service de la fiabilité et de la sécurité des environnements technologiques.