Activer les connexions d’organisation
Vous pouvez activer des connexions spécifiques pour chaque organisation afin de fournir différentes options de connexion aux utilisateurs. Après avoir activé une connexion, elle est ajoutée à l’invite de connexion de l’organisation et les utilisateurs peuvent s’authentifier via cette connexion pour accéder à vos applications.
Pour activer une connexion pour une organisation, la connexion doit déjà exister dans votre locataire. Les connexions prises en charge comprennent les connexions de base de données, connexions via un réseau social et connexions d’entreprise.
Propriétés d’organisation
Lorsque vous utilisez des organisations, certaines connexions ont des propriétés supplémentaires que vous pouvez configurer :
Propriété | Connexion Types | Description |
---|---|---|
Abonnement à l’authentification | Tous les types de connexion | Lorsqu’elle est activée, cette propriété attribue automatiquement l’appartenance à une organization aux utilisateurs finaux la première fois qu’ils s’authentifient avec la connexion. |
Configurer les connexions d’organisation
Vous pouvez configurer les connexions pour les organisations à l’aide du Auth0 Dashboard ou de Management API.
Auth0 Dashboard
Pour activer une connexion par l’entremise du Auth0 Dashboard :
Naviguez vers Auth0 Dashboard > Organizations, puis sélectionnez l’organisation pour laquelle vous souhaitez configurer els connexions.
Sélectionnez la vue Connections (Connexions), puis Enable Connections (Activer les connexions).
Choisissez la connexion que vous voulez activer, puis sélectionnez Enable Connection (Activer la connexion).
Dans la section Authentification, recherchez l’option Adhésion lors de l’authentification et choisissez d’activer ou de désactiver l’abonnement automatique. Lorsqu’elle est activée, l’abonnement automatique ajoute automatiquement tous les utilisateurs qui se connectent en tant que membres de l’organization.
Pour les connexions aux bases de données uniquement : dans la section Organization Signup (Inscription à l’organization), choisissez d’activer ou de désactiver les inscriptions en libre-service. Lorsque cette option est activée, les utilisateurs peuvent accéder à un lien d’inscription dans l’invite de connexion pour créer leur compte et devenir automatiquement membres de l’organization.
Remarque : Pour activer cette propriété, vous devez d’abord activer Membership On Authentication (Adhésion lors de l’authentification).
Pour les connexions à l’entreprise seulement : dans la section Connection button (Bouton de connexion), vous pouvez activer la propriété Display connection as a button (Afficher la connexion comme bouton) pour afficher la connexion comme une option dans l’invite de connexion de l’organization.
Sélectionnez Save (Enregistrer).
Management API
Pour activer une connexion par l’entremise de Management API :
Effectuez un appel POST
au point de terminaison Créer des connexions pour une Organization
. Assurez-vous de mettre à jour les valeurs fictives suivantes avec les bonnes informations :
Remplacez
{orgId}
par l’ID de votre organisation.Remplacez
{mgmtApiAccessToken}
par votre jeton d’accès à Management API.Remplacez
{connectionId}
par un ID de connexion particulier.Remplacez
{assignMembershipOption}
avectrue
oufalse
par rapport à votre choix d’abonnement lors de l’authentification.Pour les connexions de bases de données seulement : Remplacez
{isSignupEnabled}
avectrue
oufalse
par rapport à votre choix d’inscription.Pour les connexions Enterprise seulement : Remplacez
{showAsButtonOption}
avectrue
oufalse
par rapport à votre choix de bouton de connexion.
curl --request POST \
--url https://%7ByourAuth0Domain%7D/api/v2/organizations/%7BorgId%7D/enabled_connections \
--header 'authorization: Bearer {yourMgmtApiAccessToken}' \
--header 'cache-control: no-cache' \
--header 'content-type: application/json' \
--data '{ "connection_id": "{connectionId}", "assign_membership_on_login": "{assignMembershipOption}","is_signup_enabled","{isSignupEnabled}", "show_as_button": "{showAsButtonOption}" }'
Was this helpful?
var client = new RestClient("https://%7ByourAuth0Domain%7D/api/v2/organizations/%7BorgId%7D/enabled_connections");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer {yourMgmtApiAccessToken}");
request.AddHeader("cache-control", "no-cache");
request.AddParameter("application/json", "{ \"connection_id\": \"{connectionId}\", \"assign_membership_on_login\": \"{assignMembershipOption}\",\"is_signup_enabled\",\"{isSignupEnabled}\", \"show_as_button\": \"{showAsButtonOption}\" }", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Was this helpful?
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://%7ByourAuth0Domain%7D/api/v2/organizations/%7BorgId%7D/enabled_connections"
payload := strings.NewReader("{ \"connection_id\": \"{connectionId}\", \"assign_membership_on_login\": \"{assignMembershipOption}\",\"is_signup_enabled\",\"{isSignupEnabled}\", \"show_as_button\": \"{showAsButtonOption}\" }")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("content-type", "application/json")
req.Header.Add("authorization", "Bearer {yourMgmtApiAccessToken}")
req.Header.Add("cache-control", "no-cache")
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.post("https://%7ByourAuth0Domain%7D/api/v2/organizations/%7BorgId%7D/enabled_connections")
.header("content-type", "application/json")
.header("authorization", "Bearer {yourMgmtApiAccessToken}")
.header("cache-control", "no-cache")
.body("{ \"connection_id\": \"{connectionId}\", \"assign_membership_on_login\": \"{assignMembershipOption}\",\"is_signup_enabled\",\"{isSignupEnabled}\", \"show_as_button\": \"{showAsButtonOption}\" }")
.asString();
Was this helpful?
var axios = require("axios").default;
var options = {
method: 'POST',
url: 'https://%7ByourAuth0Domain%7D/api/v2/organizations/%7BorgId%7D/enabled_connections',
headers: {
'content-type': 'application/json',
authorization: 'Bearer {yourMgmtApiAccessToken}',
'cache-control': 'no-cache'
},
data: '{ "connection_id": "{connectionId}", "assign_membership_on_login": "{assignMembershipOption}","is_signup_enabled","{isSignupEnabled}", "show_as_button": "{showAsButtonOption}" }'
};
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 = @{ @"content-type": @"application/json",
@"authorization": @"Bearer {yourMgmtApiAccessToken}",
@"cache-control": @"no-cache" };
NSData *postData = [[NSData alloc] initWithData:[@"{ "connection_id": "{connectionId}", "assign_membership_on_login": "{assignMembershipOption}","is_signup_enabled","{isSignupEnabled}", "show_as_button": "{showAsButtonOption}" }" dataUsingEncoding:NSUTF8StringEncoding]];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://%7ByourAuth0Domain%7D/api/v2/organizations/%7BorgId%7D/enabled_connections"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];
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://%7ByourAuth0Domain%7D/api/v2/organizations/%7BorgId%7D/enabled_connections",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{ \"connection_id\": \"{connectionId}\", \"assign_membership_on_login\": \"{assignMembershipOption}\",\"is_signup_enabled\",\"{isSignupEnabled}\", \"show_as_button\": \"{showAsButtonOption}\" }",
CURLOPT_HTTPHEADER => [
"authorization: Bearer {yourMgmtApiAccessToken}",
"cache-control: no-cache",
"content-type: application/json"
],
]);
$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("")
payload = "{ \"connection_id\": \"{connectionId}\", \"assign_membership_on_login\": \"{assignMembershipOption}\",\"is_signup_enabled\",\"{isSignupEnabled}\", \"show_as_button\": \"{showAsButtonOption}\" }"
headers = {
'content-type': "application/json",
'authorization': "Bearer {yourMgmtApiAccessToken}",
'cache-control': "no-cache"
}
conn.request("POST", "%7ByourAuth0Domain%7D/api/v2/organizations/%7BorgId%7D/enabled_connections", payload, 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://%7ByourAuth0Domain%7D/api/v2/organizations/%7BorgId%7D/enabled_connections")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request["authorization"] = 'Bearer {yourMgmtApiAccessToken}'
request["cache-control"] = 'no-cache'
request.body = "{ \"connection_id\": \"{connectionId}\", \"assign_membership_on_login\": \"{assignMembershipOption}\",\"is_signup_enabled\",\"{isSignupEnabled}\", \"show_as_button\": \"{showAsButtonOption}\" }"
response = http.request(request)
puts response.read_body
Was this helpful?
import Foundation
let headers = [
"content-type": "application/json",
"authorization": "Bearer {yourMgmtApiAccessToken}",
"cache-control": "no-cache"
]
let postData = NSData(data: "{ "connection_id": "{connectionId}", "assign_membership_on_login": "{assignMembershipOption}","is_signup_enabled","{isSignupEnabled}", "show_as_button": "{showAsButtonOption}" }".data(using: String.Encoding.utf8)!)
let request = NSMutableURLRequest(url: NSURL(string: "https://%7ByourAuth0Domain%7D/api/v2/organizations/%7BorgId%7D/enabled_connections")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data
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?
Valeur | Description |
---|---|
{orgId} |
Identifiant de l’organisation pour laquelle vous souhaitez activer une connexion. |
{mgmtApiAccessToken} |
Jeton d’accès à Management API avec la permission create:organization_connections . |
{connectionId} |
Identifiant de la connexion que vous souhaitez activer pour l’organisation spécifiée. |
{assignMembershipOption} |
Indique si vous souhaitez que les utilisateurs qui se connectent avec cette connexion se voient automatiquement accorder l’adhésion à l’organisation. Lorsqu’il est défini sur true , les utilisateurs se verront automatiquement accorder l’adhésion. Lorsqu’il est défini sur false , ils ne se verront pas automatiquement accorder l’adhésion. |
{isSignupEnabled} |
Détermine si les utilisateurs peuvent accéder à un lien d’inscription en libre-service sur l’invite de connexion. Lorsque la valeur est définie sur true , le lien d’inscription s’affiche dans l’invite. Lorsqu’elle est définie sur false , le lien reste masqué.Remarque : Pour activer cette option, vous devez également définir {assignMembershipOption} sur true . |
{showAsButtonOption} |
Indique si vous souhaitez qu’une connexion d’entreprise spécifique s’affiche comme option dans l’invite de connexion de l’organisation. Lorsqu’elle est définie sur true , la connexion s’affiche sous forme de bouton dans l’invite. Lorsqu’elle est définie sur false , la connexion est masquée dans l’invite. |
Codes d’état des réponses
Les codes d’état de réponse possibles sont les suivants :
Code d’état | Code d’erreur | Message | Cause |
---|---|---|---|
201 |
Connexion ajoutée avec succès à l’organisation. | ||
401 |
Jeton non valide. | ||
401 |
Signature non valide reçue pour la validation du jeton Web JSON. | ||
401 |
Le client n’est pas global. | ||
403 |
insufficient_scope |
Permission insuffisante; l’une des valeurs attendues est : create:organizations_connections . |
Tentative de lecture/écriture d’un champ qui n’est pas autorisé avec les permissions de jeton du porteur fourni. |
429 |
Trop de requêtes. Vérifiez les en-têtes X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset. |