1. Préambule
OpenIDConnect est une simple couche d’identification basée sur OAuth2.0 (lui-même étant un dispositif d’identification)
À partir de la v6.5.2, Project Monitor peut être utilisé avec l’authentification OpenIDConnect.
Vous devez disposer d’un fournisseur d’identité : (Identity provider). Dans la suite du document, IDP désigne votre Identity Provider (par exemple Azure AD / Keycloak).
Remarque 1
Données attendues par Virage :
- Identification du client (clientId)
- URL de redirection
Donnée fournie par Virage :
- URL de Callback
Remarque 2
Dans la version 6.5.2, le provisionnement automatique des comptes depuis le fournisseur d’identité n’est pas disponible. Il sera disponible en version 6.5.3.
D’autre part, la correspondance entre l’identifiant dans Project Monitor et dans le fournisseur d’identité doit être identique (voir en fin de document). Cela peut nécessiter une reprise de données sur les implémentations Project Monitor existantes.
Remarque 3
Le module « OIDC » doit être complétement déployé sur le serveur d’application. La procédure d’installation est décrite dans le Dossier d’Exploitation
2. Configuration avec KeyCloak
- Dans le fichier monitormaker.properties : configurer la stratégie d’authentification : OpenIdConnectAuthenticator
com.vc.mm.authenticator= com.vc.mm.modules.utilisateur.OpenIdConnectAuthenticator
voir le Dossier d’exploitation pour plus d’informations sur les stratégies d’authentification disponibles
Se connecter à l’interface d’administration de Project Monitor
Se rendre dans la carte Authentification OpenIDConnect
Copier dans le presse-papier la valeur de la propriété « URL de retour – Callback »
Se connecter à l’interface d’administration de Keycloak
Créer un nouveau client OpenIDConnect, qui sera spécifique à l’application Project Monitor
Saisir un identifiant pour ce nouveau client, le protocole openid-connect doit être sélectionné :
Dans l’écran de configuration du client nouvellement créé :
Sélectionner le choix « public » pour la propriété « Access Type ».
Valoriser la propriété « Valid Redirect URIs » avec la valeur extraite depuis Project Monitor (URL de Retour – callback)
Enregistrer les informations saisies
Se rendre sur l’écran « Realm Settings », et copier dans le presse-papier l’URL du lien « Open ID Endpoint Configuration » :
Se rendre dans l’écran de configuration OpenIdConnect de Project Monitor :
Saisir dans le champ « Client ID » le nom du client nouvellement déclaré à l’étape précédente
Coller dans le champ « URL des métadonnées » l’URL copié à l’étape précédente
Enregistrer les modifications.
Mapping entre les utilisateurs définis dans Project Monitor et dans Keycloak :
Afin que l’identification fonctionne, il est nécessaire de s’assurer que l’identifiant défini dans Project Monitor et Keycloak soit identique.
L’identifiant de l’utilisateur est disponible dans l’écran de détail de l’utilisateur sous Keycloak :
Cet identifiant correspond à la propriété sub contenue dans le token OpenIDConnect
3. Configuration avec AzureAD
Se connecter à l’interface d’administration de Project Monitor
Se rendre dans la carte Authentification OpenIDConnect
Copier dans le presse-papier la valeur de la propriété « URL de retour – Callback »
Se connecter à l’interface d’administration :
Inscrire une nouvelle application.
Coller l’url de retour - callback à cet endroit :
Dans l’écran de détail de l’application, cliquer sur le bouton « Points de terminaison »
Copier l’url « Document sur les métadonnées Open ID Connect »
Copier également la valeur de « ID Application (client) »
Se rendre dans l’écran de configuration OpenIdConnect de Project Monitor :
Saisir dans le champ « Client ID » le nom du client nouvellement déclaré à l’étape précédente
Coller dans le champ « URL des métadonnées » l’URL copié à l’étape précédente
Enregistrer les modifications.
Pour la configuration sous Azure AD la notion de Secret est obligatoire. Il convient d’en créer un :
Copier la valeur du secret dans le presse-papier et la reporter dans L’interface de configuration de Project Monitor
4. Tester la configuration
- Créer vos utilisateurs dans Project Monitor si ce n’est pas déjà fait
- Créer vos utilisateurs dans votre IDP si ce n’est pas déjà fait
- Se connecter à l’application pour valider la configuration
5. Création automatique de compte
Avec la fonctionnalité OpenIDConnect, il est possible de créer automatiquement le compte d’un utilisateur à sa première connexion.
Les informations suivantes sont mémorisées lors de la création :
- Identifiant
- Nom
- Prénom
Pour activer cette option, le champ « Créer automatiquement les comptes utilisateurs manquants à la connexion » doit être coché :
Lors de cette création l’utilisateur ne dispose d’aucun droits ou rôle sur l’application. Il convient à l’administrateur fonctionnel d’associer à posteriori les rôles de l’utilisateur.
6. Modification de l’identifiant de connexion (Keycloak uniquement)
Par défaut l’identifiant de l’utilisateur dans Project Monitor est le même que celui du référentiel d’identité.
Il s’agit du champ « sub ».
Il est possible, même si cela n’est pas recommandé par le protocole OpenIDConnect, de modifier l’identifiant pour quelque chose de plus explicite, par exemple l’email de l’utilisateur.
7. Se connecter sans OpenIdConnect
Il est possible que certains utilisateurs de Project Monitor soient inconnus de l’IDP (Prestataire externe, consultant). Pour ces utilisateurs, il est possible de se connecter à Project Monitor par login et mot de passe avec l’url, si l’authentification locale est autorisée au niveau de l’utilisateur :
http://maplateforme/nex/login?local=true