Configurer Auth0 en tant que fournisseur de services SAML
Pour configurer Auth0 en tant que fournisseur de services (SP) dans une fédération SAML, vous devez créer une connexion Entreprise dans Auth0, puis mettre à jour votre fournisseur d’identité SAML (IdP) avec les métadonnées de la connexion.
Auth0 prend en charge l’utilisation d’Auth0 en tant que SP dans les configurations conformes au protocole SAML 1.1 ou SAML 2.0.
Obtenir les métadonnées et le certificat du fournisseur d’identité
Vous devrez recueillir certaines métadonnées de configuration auprès du fournisseur d’identité pour créer une connexion dans Auth0 :
Champ | Description |
---|---|
URL de connexion | L’URL où les demandes d’authentification SAML sont envoyées. C’est également appelé point de terminaison d'authentification unique (SSO). |
URL de déconnexion | L’URL où les demandes de déconnexion SAML sont envoyées. C’est également appelé point de terminaison de déconnexion unique (SLO). |
Certificat de signature X509 | Le certificat de clé publique requis par le SP pour valider la signature des assertions d’authentification qui ont été signées numériquement par l’IDP. Auth0 accepte les formats .pem et .cer. |
Créer une connexion SAML Entreprise dans Auth0
Vous pouvez créer une connexion SAML Entreprise dans le Auth0 Dashboard ou avec l’Auth0 Management API.
Naviguez vers Auth0 Dashboard > Authentification > Entreprise, et sélectionnez SAML.
Sélectionnez Create Connection (Créer une connexion).
Configurez les paramètres suivants :
Paramètre Description Nom de la connexion Saisissez un nom de connexion, comme SAML-SP
.URL de connexion Saisissez Sign In URL que vous avez obtenue de l’IdP. Certificat de signature X509 Téléversez le fichier du certificat de signature X509 (au format .pem
ou.cer
) que vous avez obtenu de l’IdP.Activer la déconnexion Activez le champ _Sign Out URL. URL de déconnexion Saisissezez Sign Out URL obtenue de l’IdP. Attribut de l’identifiant d’utilisateur Saisissez l’attribut dans le jeton SAML qui sera mappé avec la propriété user_id
dans Auth0. S’il n’est pas défini, la valeuruser_id
sera récupérée aux emplacements suivants (dans l’ordre énuméré) :http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
Mode de débogage Activez le__Debug Mode__pour une connexion plus détaillée. Demande de signature Activez les requêtes d’authentification SAML signées. Algorithme de demande de signature Dans le menu déroulant, sélectionnez l’algorithme de hachage à utiliser. Recueil des algorithmes de demande de signature Dans le menu déroulant, sélectionnez l’algorithme à utiliser pour vérifier la validité de l’assertion. Liaison de protocole Dans le menu déroulant, sélectionnez l’une des options suivantes : HTTP-Redirect : Active les messages à transmettre dans les paramètres d’URL.</li><li>
HTTP-POST` : Active les messages à transmettre dans un formulaire HTML.
Synchroniser les attributs du profil utilisateur à chaque connexion Activez la synchronisation des attributs du profil utilisateur à chaque connexion. Sélectionnez Create (Créer).
Le point de terminaison Créer une connexion d’Auth0 Management API prend en charge les propriétés suivantes dans l’objet options
lors de la création d’une connexion par SAML :
Champ | Type | Requis ? | Description |
---|---|---|---|
signInEndpoint |
Chaîne | Obligatoire | L’URL de connexion de l’IdP. |
signingCert |
Chaîne | Obligatoire | Contenu du certificat de signature X509 (au format .pem ou .cer ) encodé en Base64. |
debug |
Booléen | Facultatif | Active/désactive Debug Mode, qui inclut une journalisation plus détaillée pendant le processus d’authentification. Défini sur false pour les connexions utilisées dans les environnements de production. |
destinationUrl |
Chaîne | Facultatif | L’URL où Auth0 enverra les demandes d’authentification SAML. Requis uniquement lors de l’utilisation d’une passerelle proxy. |
digestAlgorithm |
Chaîne | Facultatif | L’algorithme utilisé pour chiffrer l’élément digest des demandes d’authentification. if |
fieldsMap |
Objet | Facultatif | Contient les mappages d’attributs à appliquer aux réponses d’authentification de l’IdP. Par exemple : « "email" » : "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"`. |
idpinitiated |
Objet | Facultatif | Contient des options pour l’authentification unique initiée par l’IdP :
|
protocolBinding |
Chaîne | Facultatif | Liaison de protocole utilisée pour les demandes d’authentification. Les valeurs acceptées sont :
|
recipientUrl |
Chaîne | Facultatif | L’URL où l’IdP enverra les réponses d’authentification SAML. Requis uniquement lors de l’utilisation d’une passerelle proxy. |
signatureAlgorithm |
Chaîne | Facultatif | L’algorithme utilisé pour signer les demandes d’authentification. Les valeurs acceptées sont rsa-sha256 et rsa-sha1 . |
signSAMLRequest |
Booléen | Facultatif | Active/désactive la signature des demandes d’authentification envoyées par Auth0. |
user_id_attribute |
Chaîne | Facultatif | Le nom de l’attribut dans les réponses d’authentification à mapper à la propriété ID utilisateur. Ce champ remplacera tous les mappages pour la propriété user_id dans l’objet fieldsMap . |
Exemple de demande
{
"strategy": "samlp",
"name": "example-samlp-connection",
"options": {
"signingCert": "{X509_CERTIFICATE_IN_BASE64}",
"signInEndpoint": "https://example.com/samlp/login",
"disableSignout": false,
"signOutEndpoint": "https://example.com/samlp/logout",
"fieldsMap": {
"email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
"user_id": [
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"
],
"given_name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
"address_name": "http://schemas.auth0.com/address_name",
"address_street_address": "http://schemas.auth0.com/address_street_address"
},
"user_id_attribute": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
"idpinitiated": {
"enabled": true,
"client_id": "{DEFAULT_APPLICATION_CLIENT_ID}",
"client_protocol": "oauth2",
"client_authorizequery": "response_type=code&scope=openid email profile"
},
"signSAMLRequest": true,
"signatureAlgorithm": "rsa-sha256",
"digestAlgorithm": "sha256",
"protocolBinding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect",
"debug": true
}
}
Was this helpful?
Configurer la connexion SAML pour les passerelles proxy
Si Auth0 se trouve derrière une passerelle proxy, vous devrez configurer les champs destinationUrl
et recipientUrl
de la connexion SAML en conséquence.
Obtenez la configuration actuelle de votre connexion SAML avec le point de terminaison Obtenir une connexion de Management API.
Copiez la valeur de l’objet
options
de la réponse renvoyée.Ajoutez les champs suivants à l’objet
options
:Champ Type Valeur destinationUrl
Chaîne URL de la passerelle mandataire. recipientUrl
Chaîne URL de la passerelle mandataire. Appelez le point de terminaison Mettre à jour une connexion de Management API avec l’objet
options
en entier mis à jour dans le corps de la demande.
Personnaliser le modèle de demande
Lorsque Auth0 envoie la demande d’authentification à l’IdP, le corps de la demande contient un objet AuthnRequest
. Vous pouvez personnaliser le modèle utilisé pour cet objet :
Accédez à Dashboard > Authentication (Authentification) > Enterprise (Entreprise) > SAML, et sélectionnez votre connexion.
Passez à la vue Settings (Paramètres) et localisez le champ Request Template (Modèle de demande).
Modifiez le modèle.
Sélectionnez Sauvegarder les changements.
Variables de modèle
Vous pouvez placer des variables dans le modèle AuthnRequest
en utilisant la syntaxe @@VariableName@@
. Les variables suivantes sont disponibles :
Nom | Description |
---|---|
AssertionConsumerServiceURL |
L’URL vers laquelle l’IdP envoie la réponse après la connexion de l’utilisateur. Veillez à inclure l’attribut ProtocolBinding dans la requête si vous l’utilisez. |
Connection.<options-key> |
Utilisez la notation en point sur la clé Connection pour accéder à n’importe quelle valeur des options de la connexion, telle que retournée par le point de terminaison de l’Auth0 Management API Obtenir une connexion. Par exemple, si la connexion possède la valeur options.some_property: "value" , alors vous pouvez utiliser @@Connection.some_property@@ dans ce modèle. |
ID |
L’identifiant de la transaction. |
IssueInstant |
L’horodatage de la date de la transaction. |
Issuer |
L’identifiant au format urn . Par exemple, urn:auth0:<NOM_DE_VOTRE_LOCATAIRE_AUTH0>:<NOM_DE_VOTRE_CONNEXION> . |
LoginHint |
Le nom d’utilisateur ou le courriel de l’utilisateur qui se connecte, si vous utilisez l’Authentification Identifier First, Auth0 peut envoyer cette valeur au fournisseur d’identité (IdP) pour qu’’elle soit préremplie dans le formulaire de connexion de l’IdP |
ProtocolBinding |
Le type de liaison du protocole. |
ProviderName |
Le nom de l’application qui a inité la requête. Cela retourne toujours le nom du locataire Auth0. |
AssertServiceURLAndDestination |
Déconseillé. Pour les nouvelles configurations, utilisez plutôtAssertionConsumerServiceURL et Destination . |
Configuration de l’IdP
Rendez-vous à Paramètres de configuration du fournisseur d’identités SAML pour trouver les métadonnées que vous devrez fournir à l’IdP.
Auth0 prend en charge tous les IdP SAML conformes au protocole SAML 1.1 ou SAML 2.0. Vous trouverez des instructions détaillées pour configurer des fournisseurs spécifiques :
Tester la connexion
Pour tester votre connexion dans le Dashboard :
Accédez à Dashboard > Authentication (Authentification) > Enterprise (Entreprise) > SAML.
Localisez la connexion que vous avez créée, sélectionnez l’icône de menu … (trois points) et sélectionnez Try (Essayer).
Une page de connexion universelle s’affiche et vous invite à saisir vos informations d’identification.
Saisissez l’adresse courriel d’un utilisateur qui existe dans l’IdP. Si vous avez configuré la Home Realm Discovery (Découverte du domaine d’accueil), assurez-vous de saisir une adresse courriel qui utilise l’un des domaines spécifiés.
Après avoir été redirigé vers l’écran de connexion de l’IdP, connectez-vous comme vous le feriez normalement.
Vous serez redirigé vers une page sur Auth0 qui affiche le contenu de l’assertion d’authentification envoyée à Auth0 par l’IdP.
Dépannage de la connexion
Si votre connexion ne fonctionne pas comme prévu, essayez les étapes suivantes :
Effacez l’historique de votre navigateur, les témoins et la mémoire cache avant chaque test. Si vous ne le faites pas, le navigateur peut ne pas récupérer les dernières informations de configuration, ou il peut y avoir des témoins périmés qui affectent l’exécution.
Assurez-vous que votre navigateur autorise les témoins et que le JavaScript est activé.
Capturez un fichier HAR de la transaction, puis utilisez l’outil SAML Auth0 pour décoder l’assertion SAML et en inspecter le contenu.