Configuration du SSO
NexBasira prend en charge à la fois OpenID Connect (OIDC) et le SSO SAML 2.0 Web Browser. Les utilisateurs des domaines de messagerie configurés sont connectés via votre fournisseur d'identité ; les premières connexions sont provisionnées à la volée (just-in-time) avec le rôle par défaut de votre choix.
Avant de commencer
- Vous avez besoin d'un rôle
org_admincôté NexBasira. - Vous avez besoin d'un accès à l'administration de votre IdP pour enregistrer une application + configurer le mappage des attributs.
- Le SSO est disponible à partir de la formule Pro (voir tarifs).
Pas à pas OIDC
1. Trouvez votre URL de callback
Dans la SPA NexBasira : Admin → SSO → Protocole : OpenID Connect. L'URL de callback est affichée en haut du formulaire :
https://app.nexbasira.com/api/v1/auth/sso/callback Les clients avec domaine personnalisé (Pro+) voient ici leur propre domaine. Copiez-la — votre IdP en a besoin.
2. Enregistrez une application dans votre IdP
Chaque IdP a sa propre interface, mais le principe est le même :
- Type d'application : Web (côté serveur, client confidentiel)
- URI de redirection : l'URL de callback de l'étape 1
- Types de grant autorisés : Authorization Code (avec PKCE)
- Scopes :
openid+email+profile
L'IdP vous renvoie un Client ID, un Client Secret et l'Issuer URL (l'URL de base pour la découverte — généralement https://your-idp.example.com/realms/yourrealm ou https://accounts.google.com).
3. Remplissez la configuration SSO
De retour dans Admin → SSO, remplissez le formulaire :
- Nom affiché : montré sur le bouton « Continuer avec le SSO ». Par ex. « Acme SSO ».
- Issuer URL : depuis votre IdP.
- Client ID + Client Secret depuis votre IdP.
- Domaines de messagerie : liste séparée par des virgules (
acme.com, acme-eu.com). Les utilisateurs dont l'e-mail relève de ces domaines sont routés via le SSO. - Rôle par défaut des nouveaux utilisateurs : généralement
inspector. Les administrateurs d'organisation doivent se voir attribuer manuellement le rôleorg_adminaprès la première connexion. - Provisionner automatiquement les nouveaux utilisateurs à la première connexion : généralement activé.
- Activé : désactivé tant que vous n'avez pas testé.
4. Testez la découverte
Cliquez sur Tester la découverte. Cela récupère la configuration OpenID de votre IdP ({issuer_url}/.well-known/openid-configuration) + analyse le JWKS. Erreurs courantes :
- OK — N clés JWKS : c'est terminé.
- Connexion refusée / échec DNS : faute de frappe dans l'issuer URL ; vérifiez qu'elle se résout dans votre navigateur.
- Erreur d'analyse JSON : l'issuer URL pointe vers quelque chose qui n'est pas un fournisseur OIDC.
- Aucune clé JWKS : le probe a réussi mais l'endpoint JWKS a renvoyé un ensemble vide ; vérifiez la rotation des clés côté IdP.
5. Activez + smoke-test
Basculez Activé, enregistrez. Déconnectez-vous, puis reconnectez-vous avec un e-mail relevant de l'un des domaines autorisés. Vous devriez être redirigé vers l'écran de connexion de votre IdP, puis renvoyé vers le tableau de bord de la SPA.
Pas à pas SAML 2.0
1. Trouvez votre URL ACS
Dans Admin → SSO → Protocole : SAML 2.0, copiez l'URL de l'Assertion Consumer Service :
https://app.nexbasira.com/api/v1/auth/saml/acs 2. Enregistrez une application SAML dans votre IdP
- ACS URL / Reply URL : l'URL de l'étape 1.
- Entity ID (audience) :
https://app.nexbasira.com/saml/sp(ou votre domaine personnalisé). - Format NameID : emailAddress.
- Mappage des attributs : au minimum
email; idéalementgivenName+surnameégalement. - Signer les assertions : requis.
L'IdP vous renvoie un Entity ID, une SSO Service URL et un certificat de signature (PEM).
3. Remplissez la configuration SAML
- IdP Entity ID — depuis votre IdP.
- IdP SSO Service URL — depuis votre IdP.
- Certificat de signature de l'IdP (PEM) — collez l'intégralité du bloc
-----BEGIN CERTIFICATE-----. - Domaines de messagerie — même forme qu'en OIDC.
- Rôle par défaut + provisionnement automatique — identique à OIDC.
La section Avancé — mappage des attributs vous permet de redéfinir les URN que nous recherchons ; les valeurs par défaut correspondent à la convention WS-Federation de Microsoft, que la plupart des IdP respectent d'emblée.
4. Activez + smoke-test
Même flux qu'en OIDC : basculez Activé, déconnectez-vous, reconnectez-vous avec un e-mail d'un domaine autorisé, attendez-vous à un aller-retour via votre IdP.
IdP testés
La prise en charge OIDC + SAML de NexBasira est générique ; tout IdP conforme à la spécification fonctionne. Nous avons smoke-testé :
- Microsoft Entra ID (Azure AD) — OIDC + SAML
- Google Workspace — OIDC + SAML
- Okta — OIDC + SAML
- Keycloak — OIDC + SAML
- OneLogin — SAML
Règles de provisionnement JIT
- La première fois qu'un utilisateur d'un domaine correspondant se connecte via le SSO, une adhésion (Membership) est créée avec le rôle par défaut configuré.
emailest la clé unique. Un utilisateur qui change son e-mail au niveau de l'IdP crée un nouveau compte.- Les changements de rôle après la première connexion se gèrent dans la SPA (Admin → Membres), pas au niveau de l'IdP. Pour un mappage groupe → rôle piloté par l'IdP, voir le provisionnement SCIM.
Désactiver le SSO
Vous pouvez soit basculer Activé sur off (conserve la configuration ; vous pourrez la réactiver plus tard), soit cliquer sur Supprimer le SSO (supprime la configuration). Une fois le SSO désactivé, tous les utilisateurs reviennent à l'authentification par mot de passe ; les adhésions existantes sont préservées.
Dépannage
| Symptôme | Cause probable |
|---|---|
| Boucle de redirection entre l'IdP + la SPA | Domaine de messagerie absent de la liste d'autorisation. L'e-mail de l'utilisateur ne correspond pas. |
| « Échec de validation de la signature » (SAML) | Certificat de signature périmé dans la configuration. Recollez-le depuis l'IdP. |
| « Issuer mismatch » (SAML) | L'Entity ID dans l'IdP ne correspond pas à ce que nous attendons. Vérifiez la casse + la barre oblique finale. |
| « Aucun attribut email dans l'assertion » | Le mappage des attributs SAML dans l'IdP n'émet pas l'e-mail. Redéfinissez l'URN dans les paramètres Avancés. |
Et ensuite
- Provisionnement SCIM — création + désactivation des utilisateurs pilotées par l'IdP
- Authentification API — distincte du SSO de la SPA