1. Préambule
OpenIDConnect est une simple couche d’identification basée sur OAuth2.0 (lui-même étant un dispositif d’identification)
Remarque 1
Données attendues par Virage Group :
- Identification du client (clientId)
- URL de redirection
Donnée fournie par Virage Group :
- 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
Se connecter à l’interface d’administration de Project Monitor
- Cliquer sur Administration >
Paramétrages avancés
>Configuration technique
>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
- 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 - Cliquer sur
Enregistrer
.
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
- Cliquer sur Administration >
Paramétrages avancés
>Configuration technique
>Authentification OpenIdConnect.
- Copier dans le presse-papier la valeur de la propriété
URL de retour – Callback
Se connecter à l’interface d’administration AzureAD :
- 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.
Se connecter à l’interface d’administration AzureAD :
- Créer un secret (la notion de Secret est obligatoire sous Azure AD).
- 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