Accueil > OpenID Connect OAuth Server par DnC > Développer > Identification OpenID Connect avec ID Card : Aramis

Identification OpenID Connect avec ID Card : Aramis

Les grandes organisations possèdent généralement leur propre système d’identification attaché à chaque poste de travail, le plus commun étant le lecteur d’ID card.

OAuthSD a permis par exemple d’intégrer le système de lecteur de carte Aramis. Ainsi, un utilisateur identifié par ce moyen l’est également par les applications Web clientes du serveur OAuthSD, auxquelles le jeton d’identité JWT transmettra le profil Aramis de l’utilisateur.

La gestion des utilisateurs est effectuée exclusivement par Aramis

Dans cette configuration, c’est le système Aramis qui gère les données relatives aux utilisateurs et fournit l’User ID : Le serveur OAuthSD fonctionne avec la table ’users’ vide !

L’identifiant de l’utilisateur final est fourni par le système Aramis. C’est cet identifiant qui figurera dans la déclaration ’sub’ du jeton d’identité JWT.

OAuthSD permet donc d’intégrer un système d’identification existant sans nécessité d’une double maintenance ou d’une synchronisation des tables des utilisateurs.

Incorporation des données Aramis dans le jeton d’identité JWT

OAuthSD permet d’incorporer dans le jeton d’identité des données supplémentaires issues d’Aramis. Le mécanisme général est décrit ici : Incorporer au jeton JWT des déclarations supplémentaires.

Un système d’identification xxx propre à une application OAuthSD dédiée est intégré au moyen d’un script /oidc/identification/xxx/login.php particulier. Ce script place les données de l’utilisateur issues du système sous forme cryptée dans une variable de session $_SESSION[’user_claims’] .

Les données seront automatiquement incorporées au jeton d’identité JWT sous forme d’une déclaration supplémentaire pour chaque membre de premier niveau de l’array ’user_claims’.

Il est ainsi possible de passer de façon sûre des données de profil de l’utilisateur final authentifié qui permettront aux applications destinataires du jeton JWT de gérer l’accès en fonction des droits de l’utilisateurdéfinis au niveau d’Aramis.

Userinfo

La table users étant vide, le contrôleur UserInfo ne peut retourner les données de l’utilisateur sans modification du code. Si nécessaire, un nouveau contrôleur UserInfo devra être créé pour retourner les données extraites de la carte Aramis. Notons cependant que cette fonctionnalité ne fait pas partie du "standard" OpenID Connect, le serveur OAuthSD est donc conforme en l’état.