- Connexion à la console d’administration Keycloak
- Vérification du rôle par défaut
- Configuration du serveur SMTP
- Configuration de la durée du token de session SSO
- Ajout d’un fournisseur d’identité externe
- Changer l’attribut utilisé pour le nom d’utilisateur
Connexion à la console d’administration Keycloak
Pour accéder à la console il faut aller sur l’url /admin/
Si l’url de Strat Monitor est
https://stratmonitor.local/ l’url Keycloak sera https://stratmonitor.local/admin/
Le compte utilisateur est admin et le mot de passe est fourni par le support Virage Group.
Vérification du rôle par défaut
Pour que les utilisateurs puissent accéder à l’application il est nécessaire qu’un rôle leur soit affecté.
Pour que ce rôle soit affecté automatiquement à la création de chaque compte il faut vérifier que le paramétrage du royaume est correct.
Pour cela :
- Aller sur le royaume
virage:
- Aller dans le menu
Realm Settingspuis dans l’ongletUser Registration.
- Vérifier que le rôle
perfv2-userest bien présent.
- Si ce n’est pas le cas il faut le rajouter via
Assign role: - changer le filtre sur
Filter by clients - cocher le rôle
perfv2-user - et enfin cliquer sur le bouton
Assign
Configuration du serveur SMTP
Keycloak doit être en mesure d’envoyer des mails aux utilisateurs pour permettre des réinitialisations de mot de passe ou pour lier un compte local à un compte SSO.
La configuration se fait dans l’écran Realm Settings, onglet Email :
- Dans le champ
Fromil faut mettre l’adresse de l’expéditeur. Cela peut être une adresse de type noreply mais il faut que le domaine de cette adresse soit autorisé sur le relais SMTP. - Le champ
Hostcorrespond au FQDN ou l’adresse IP du serveur SMTP. On peut spécifier un port autre que le 25 et activer le SSL ou le StartTls en fonction de la configuration de ce serveur SMTP. - Si le serveur SMTP n’autorise pas les connexions anonymes il faut activer l’option
Authenticationet renseigner le compte à utiliser ainsi que son mot de passe.
Configuration de la durée du token de session SSO
Par défaut les tokens de session sont valides uniquement 30 minutes. Il peut être souhaitable de modifier cette durée pour empêcher des erreurs lors des rafraichissements de tokens.
La configuration se fait dans Realm Settings, onglet Sessions.
Ajout d’un fournisseur d’identité externe
Si on souhaite mettre en place il faudra ajouter un fournisseur d’identité externe compatible avec le protocole OpenIdConnect (OIDC).
La configuration du fournisseur d’identité externe ne sera pas abordée ici, elle sera à la charge du client.
Il faut simplement être compatible avec le protocole OIDC et remplir le paramètre URL de redirection : https://stratmonitor.local/realms/virage/broker/oidc/endpoint (en remplaçant stratmonitor.local par l’url de l’application)
Il faut aller sur le menu Identity Providers puis OpenIdConnect :
-
Aliasdu fournisseur d’identité (peut être laissé par défaut, cela n’a pas d’impact) Display name: Nom qui apparaitra sur le bouton de connexion (par exemple : Connexion SSO, Connexion Entra, etc.)- Le
discovery endpointdoit être fourni par ceux qui ont créé le client OIDC sur le fournisseur d’identité Client ID: Identifiant du client du fournisseur d’identitéClient Secret: Valeur du secret du client du fournisseur d’identité
Une fois les champs remplis il ne reste plus qu’à cliquer sur Add.
À la prochaine connexion on verra apparaitre le bouton permettant la connexion SSO :
Changer l’attribut utilisé pour le nom d’utilisateur
Par défaut, lorsqu’un compte sera créé suite à une connexion SSO, Keycloak prendra l’attribut preferred_username pour créer le compte.
Si on souhaite changer ce paramètre pour utiliser plutôt l’adresse email ou autre (samAccountName par exemple) :
- Aller sur la configuration du fournisseur d’identité créé.
- Cliquer sur l’onglet
Mapperset cliquer surAdd Mapper. - Pour changer l’attribut nom d’utilisateur, il faut utiliser un mapper de type
Username template importer:
Dans cet exemple on utilise l’attribut email du token.
Il est possible d’utiliser n’importe quel attribut présent dans le token fourni par le fournisseur OIDC.