Cette page décrit la configuration d'un service Keycloak en tant que SSO du portail LaBoite.
L'image Keycloak venant du Hub Eole Education contient Keycloaket les plugins nécessaire au fonctionnement du portail LaBoite.
Le service Keycloak contient donc :
Aller dans le realm Master ==> "https://auth.domaine.portail/auth/admin/master/console/#/master/info"
Aller dans le realm Master ==> https://auth.eole3.dev/auth/admin/master/console/#/master/providers
Attetion : ne pas utiliser le realm "master"
Créer un royaume (ex. 'LaBoite' )
- Edit username : OFF
- Vérification du courriel : ON
- Duplicate emails : OFF
- Login with email : ON (?)
- Courriel comme nom d''utilisateur : OFF
- User registration : ON
- Forgot password : ON
- Se souvenir de moi : ON
- on
- langue FRANÇAIS, ANGLAIS
- defaut : francais
Event listeners
Client
Admin
- validations
- length : min: 2, <- à changer
- username-laboite-validator <- à ajouter
- annotations
inputHelperTextAfter: "Uniquement minuscules, chiffres"
inputHelperTextBefore: ""
- admin can edit : oui
- user can edit : oui (sinon, les comptes locaux ne peuvent pas saisir l'email)
- admin can view : oui
- user can view : oui
- validations
- email: {}, (ne pas utiliser !)
- length: max: 255
- domain-email <- a ajouter
- ATTENTION: la liste des domaines est celle de Dev !
- validDomains: "\n",
- max-local-length: 50
- annotations
inputHelperTextAfter: "Uniquement votre mail professionel Education Nationale"
- admin can edit : oui
- user can edit : oui (sinon, les comptes locaux ne peuvent pas saisir l'email)
- admin can view : oui
- user can view : oui
- validations
- length: max: 255
- person-name-prohibited-characters
- annotations
- admin can edit : oui
- user can edit : oui (sinon, les comptes locaux ne peuvent pas saisir l'email)
- admin can view : oui
- user can view : oui
Required Actions
- Call API LaBoite 'createuser'
- Set as default action : OFF
- Actif : ON
- Url : https://portail.eole3.dev/api/createuser
- XApiKey : xxxx
username
- mapper type: Attribute Importer
- import: import
- claim: cn
- attribut: username
typensi
- mapper type: Attribute Importer
- import: force
- claim: typensi
- attribut: typensi
FrEduNumenHash
- mapper type: Attribute Importer
- import: force
- claim: FrEduNumenHash
- attribut: FrEduNumenHash
FrEduRne
- mapper type: Attribute Importer
- import: force
- claim: FrEduRne
- attribut: FrEduRne
RNE
- mapper type: Attribute Importer
- import: force
- claim: RNE
- attribut: RNE
locale
- mapper type: Hardcoded Attribute
- attribut: import
- Value: fr
- "basic flow"
- Ajout execution
- choisir "HashNumen IDP Linking"
- config
- "alias" => "hashnumen-idp-linking-config"
- "Identity provider user attribute" = "user.attributes.FrEduNumenHash" (vérife, c'est la valeur par défaut)
- "Lookup Attribute" = "FrEduNumenHash" (vérife, c'est la valeur par défaut)
- "Fail on no match" : off
- activé "required"
- "Add Step"
- choisir "Automatically set existing user"
- config:
- alias: automatically-set-existing-user-config
- activé "required"
- dans le bouton action ==> Bind flow
- selectionner "first-broker-login"
- selectionner "Authentification nationale"
- vérifier l'attribut "First login flow override", doit être égal à "First Broker Login With HashNumen Auto Link"
- Sync mode = "import" (c'est ce mode qui va faire l'import du hashnumen)
Condition:
- pas de compte existant dans le KC
Actions:
- Sur la page de login ==> "enregistrement"
- la page d'enregistrement apparaît
- A vérifier :
- saisie d'un username avec lettres et nombre
- pas de ' ', '.', '-', '_', '''
- vide interdit
- saisie d'un email
- gmail.com interdit
- vide interdit
- ac-dijon.fr ok
Attendus:
- Page enregistrement
- Compte crée
Condition:
- Pas de compte
Actions:
Attendus:
- Compte crée
- Hasnumen dans la fiche utilisteur KC
- génération du username automatique
Condition:
- Compte local existant
- Pas de lien IDP
Actions:
Attendus:
- Compte liée
- Hasnumen dans la fiche utilisteur KC
- on rouvre le bon profil dans LaBoite
Condition:
- Compte local existant
- lien IDP existant
Actions:
Attendus:
- Hasnumen dans la fiche utilisateur KC
- Pas de page de Revue Profile
- Connexion direct
Condition:
- Un compte existant dans le KC
- la fédération a été faite
Actions:
Attendus:
- Connexion au portail directement
- Hasnumen dans la fiche utilisateur KC
Condition:
- Un compte existant dans le KC
- la fédération a été faite
- HashNumen présent
Actions:
Attendus:
- Hasnumen toujours présent dans la fiche utilisateur KC
- Email modifié dans KC
- connexion au portail vers le profil (pas de nouveau profile)
- le mail est mis à jour dans le profil
Condition:
- Un compte existant dans le KC
- la fédération a été faite
- HashNumen absent
- le compte FIM ne doit pas être une personne (compte établissement ==> pas de numen)
Actions:
-
Attendus:
- pas de Page de revu de profile
- Email modifié dans KC
- connexion au portail vers le profil (pas de nouveau profile)
- le mail est mis à jour dans le profil
Condition:
- pas de compte existant dans le KC
- le compte FIM ne doit pas être une personne (compte établissement ==> pas de numen)
- la connexion est initiée depuis une autre application que le portail.
Actions:
- connexion initiée depuis une autre application que le portail.
Attendus:
- compte crée
- pas de Page de revu de profile
- Email modifié dans KC
- la connexion au portail vers le profil (pas de nouveau profile) mais les informations sont crées, pas de compte zombie.
- le mail est mis à jour dans le profil