Paramètres de configuration du fournisseur d’identités SAML
Paramètres communs
Il s’agit des paramètres utilisés pour configurer un fournisseur d’identités (IdP) SAML.
URL de renvoi
Lorsque vous utilisez la SSO initié par le fournisseur d’identité, assurez-vous d’inclure le paramètre de connexion dans l’URL de renvoi :
https://{yourDomain}/login/callback?connection={yourConnectionName}
Was this helpful?
Si vous utilisez la fonctionnalité Organizations, vous pouvez éventuellement inclure un paramètre d’organization contenant l’ID de l’organization souhaitée :
https://{yourDomain}/login/callback?connection={yourConnectionName}&organization={yourCustomersOrganizationId}
Was this helpful?
Identifiant de l’entité
L’identifiant du fournisseur de services est le suivant :
urn:auth0:{yourTenant}:{yourConnectionName}
Was this helpful?
Vous pouvez créer un identifiant d’entité personnalisé à l’aide de la propriété connection.options.entityId
. Pour en savoir plus, lisez Indiquer un identifiant d’entité personnalisé.
Vous pouvez obtenir la valeur de l’identifiant d’entité personnalisée en utilisant le point de terminaison Obtenir une connexion :
curl --request GET \
--url 'https://{yourDomain}/api/v2/connections/%7ByourConnectionID%7D' \
--header 'authorization: Bearer {yourAccessToken}'
Was this helpful?
var client = new RestClient("https://{yourDomain}/api/v2/connections/%7ByourConnectionID%7D");
var request = new RestRequest(Method.GET);
request.AddHeader("authorization", "Bearer {yourAccessToken}");
IRestResponse response = client.Execute(request);
Was this helpful?
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://{yourDomain}/api/v2/connections/%7ByourConnectionID%7D"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "Bearer {yourAccessToken}")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
Was this helpful?
HttpResponse<String> response = Unirest.get("https://{yourDomain}/api/v2/connections/%7ByourConnectionID%7D")
.header("authorization", "Bearer {yourAccessToken}")
.asString();
Was this helpful?
var axios = require("axios").default;
var options = {
method: 'GET',
url: 'https://{yourDomain}/api/v2/connections/%7ByourConnectionID%7D',
headers: {authorization: 'Bearer {yourAccessToken}'}
};
axios.request(options).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.error(error);
});
Was this helpful?
#import <Foundation/Foundation.h>
NSDictionary *headers = @{ @"authorization": @"Bearer {yourAccessToken}" };
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://{yourDomain}/api/v2/connections/%7ByourConnectionID%7D"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];
[request setAllHTTPHeaderFields:headers];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
Was this helpful?
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{yourDomain}/api/v2/connections/%7ByourConnectionID%7D",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"authorization: Bearer {yourAccessToken}"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Was this helpful?
import http.client
conn = http.client.HTTPSConnection("")
headers = { 'authorization': "Bearer {yourAccessToken}" }
conn.request("GET", "/{yourDomain}/api/v2/connections/%7ByourConnectionID%7D", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Was this helpful?
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://{yourDomain}/api/v2/connections/%7ByourConnectionID%7D")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer {yourAccessToken}'
response = http.request(request)
puts response.read_body
Was this helpful?
import Foundation
let headers = ["authorization": "Bearer {yourAccessToken}"]
let request = NSMutableURLRequest(url: NSURL(string: "https://{yourDomain}/api/v2/connections/%7ByourConnectionID%7D")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()
Was this helpful?
Remplacer la valeur de l’en-tête ACCESS_TOKEN
par un jeton d’accès de Management APIv2.
La liaison des requêtes SAML
Également appelé Liaison de protocole, il est envoyé à l’IdP par Auth0. Si possible, la valeur est fixée de manière dynamique en fonction de connection.options.protocolBinding
:
connection.options.protocolBinding value |
Valeur de liaison de requêtes SAML |
---|---|
Valeur vide ("") ou absente | HTTP-Redirect |
urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect |
HTTP-Redirect |
urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST |
HTTP-POST |
S’il n’est pas possible de définir la valeur de manière dynamique, il faut alors définir HTTP-Redirect
(par défaut) ou HTTP-Post
si vous avez sélectionné cette option dans Liaison de protocole.
Liaison de la réponse SAML
Comment le jeton SAML est reçu par Auth0 du fournisseur d’identité, défini comme HTTP-Post
.
Format du NameID
Non spécifié.
Affirmation et réponse SAML
L’affirmation SAML et la réponse SAML peuvent être signées individuellement ou simultanément.
URL du service SingleLogout
C’est ici que le fournisseur d’identités SAML enverra les demandes de déconnexion et les réponses :
https://{yourDomain}/logout
Was this helpful?
Les demandes de déconnexion SAML doivent être signées par le fournisseur d’identités.
Assertions signées
Utilisez les liens suivants pour obtenir la clé publique dans différents formats :
Télécharger le certificat dans le format demandé par l’IdP.
Authentification unique initiée par l’IdP
Pour en savoir plus sur la connexion unique initiée par l’IdP, consultez Configurer l'authentification unique initiée par l’IdP SAML.
Métadonnées
Certains fournisseurs d’identité SAML peuvent accepter d’importer directement des métadonnées contenant toutes les informations requises. Vous pouvez accéder aux métadonnées de votre connexion dans Auth0 ici :
https://{yourDomain}/samlp/metadata?connection={yourConnectionName}
Was this helpful?
Organizations
Utilisez l’URL ACS de votre organization dans l’IdP fédéré pour lancer le flux de connexion d’Organizations.
https://{yourDomain}/samlp?connection={yourConnectionName}&organization=${yourOrgID}
Was this helpful?