Marché
Ce cas d'utilisation décrit la mise en œuvre de l'authentification par attributs dans Drupal à l'aide du module client OAuth miniOrange. L'authentification et l'identification de l'utilisateur sont réalisées grâce aux attributs reçus d'un fournisseur d'identité OAuth lors de l'authentification unique (SSO).
Pré-requis :
Dans cette section, nous discuterons de tout, des exigences et du processus de mise en œuvre jusqu'aux résultats.
- Client OAuth miniOrange Le module (version 8.x et supérieure) est installé et activé.
- Accès administrateur à la configuration du module.
- Le fournisseur OAuth est configuré et accessible.
- Les attributs utilisateur requis sont disponibles dans le jeton OAuth.
Problème
Si votre site Drupal dépend d'un fournisseur d'identité externe pour l'authentification des utilisateurs, des problèmes peuvent survenir lorsque vos informations locales (noms d'utilisateur, adresses e-mail, etc.) ne correspondent pas à celles du fournisseur d'identité. Ce décalage engendre toutes sortes de complications. Vous risquez de vous retrouver avec des comptes utilisateurs dupliqués. Il arrive que le système associe les utilisateurs aux mauvais comptes lors de leur connexion. Les profils utilisateurs peuvent devenir obsolètes, et vous devez effectuer de nombreuses corrections manuelles pour maintenir l'ordre. Pire encore, ces problèmes peuvent ouvrir la voie à des accès non autorisés. C'est un véritable casse-tête.
Solution
En activant la fonctionnalité de connexion basée sur les attributs dans le module Drupal OAuth Client, les administrateurs du site peuvent choisir les attributs OAuth qui serviront d'identifiants principaux pour l'utilisateur, gérant à la fois l'authentification et la création de l'utilisateur.
L'ajout de cette fonctionnalité à votre site Drupal nécessite quelques étapes de configuration clés :
Configuration de l'identifiant de connexion SSO
- Les administrateurs peuvent configurer un attribut spécifique du serveur OAuth qui servira d'identifiant de connexion SSO. Cet attribut fait office de clé primaire pour l'identification de l'utilisateur lors de l'authentification.
- Vous configurez l'identifiant de connexion SSO en choisissant un attribut de votre serveur OAuth, généralement une adresse e-mail, un nom d'utilisateur, un identifiant d'employé ou un identifiant d'utilisateur externe. Lorsqu'un utilisateur tente de se connecter, Drupal vérifie l'existence d'un compte utilisateur correspondant à la valeur de cet attribut. Ainsi, la correspondance entre l'utilisateur OAuth et le compte Drupal est toujours fiable, sans aucune approximation.
Flux d'authentification et d'identification
- L'utilisateur initie la connexion depuis l'application Drupal.
- L'utilisateur est redirigé vers le fournisseur OAuth.
- L'authentification est effectuée auprès du fournisseur d'identité.
- Un jeton OAuth contenant les attributs de l'utilisateur est renvoyé à Drupal.
- L'attribut de connexion SSO configuré est évalué.
- Le compte utilisateur correspond ou a été créé.
- Les attributs mappés sont synchronisés avec le profil utilisateur Drupal
- Une session utilisateur est établie.
Configuration
Attribut de connexion SSO
- Un seul attribut du serveur OAuth est sélectionné pour identifier les utilisateurs lors de la connexion. Les attributs pris en charge incluent, sans s'y limiter :
- Email
- Nom d'utilisateur
( Ou : Nom d'épouse )
- Cet attribut est utilisé pour localiser les utilisateurs Drupal existants lors de l'authentification unique (SSO).
Cartographie d'attributs
- Les attributs du serveur OAuth sont mappés sur les champs utilisateur Drupal.
- Exemples :
- Courriel → courrier
- nom → nom
- département → département_de_champ
- Les attributs mappés sont mis à jour à chaque connexion réussie.
Les Avantages
- Identification déterministe de l'utilisateur.
- Synchronisation cohérente de l'identité.
- Réduction des frais administratifs.
- Flux d'authentification sécurisé et évolutif.
Conclusion
L'authentification par attributs via le client OAuth miniOrange offre un mécanisme fiable d'identification des utilisateurs dans les applications Drupal intégrant des fournisseurs d'identité OAuth. En évaluant les attributs OAuth lors de l'authentification, Drupal garantit une correspondance précise des utilisateurs, un provisionnement automatisé et une gestion cohérente des identités.