Affecter des membres à une organisation
Pour affecter un membre à votre organisation, vous devez déjà avoir créé l’utilisateur dans votre locataire. Si vous n’arrivez pas à trouver un utilisateur, vous pouvez l’inviter.
Pour gérer les membres directement, vous pouvez utiliser le Auth0 Dashboard (Tableau de bord Auth0) ou Management API.
Auth0 Dashboard
Pour affecter des membres via le Auth0 Dashboard :
Naviguez vers Auth0 Dashboard > Organizations, et sélectionnez l’organisation pour laquelle vous souhaitez configurer l’appartenance.
Sélectionnez l’affichage Membres, puis Ajouter des membres et AAjouter des utilisateurs.
Saisissez le(s) nom(s) de l’utilisateur que vous souhaitez affecter à l’organisation en tant que membre, puis sélectionnez Ajouter un ou plusieurs utilisateurs à l’organisation.
Management API
Pour affecter des membres via Management API :
Effectuez un appel POST
au point de terminaison Create Organization Members (Créer des membres de l’organisation)
. Assurez-vous de remplacer les valeurs d’espace réservé ORG_ID
, MGMT_API_ACCESS_TOKEN
, et USER_ID
par votre ID de l’organisation, Jeton d’accès à Management API et ID de l’utilisateur, respectivement.
curl --request POST \
--url https://your_auth0_domain/api/v2/organizations/ORG_ID/members \
--header 'authorization: Bearer MGMT_API_ACCESS_TOKEN' \
--header 'cache-control: no-cache' \
--header 'content-type: application/json' \
--data '{ "members": [ "USER_ID", "USER_ID", "USER_ID" ] }'
Was this helpful?
var client = new RestClient("https://your_auth0_domain/api/v2/organizations/ORG_ID/members");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer MGMT_API_ACCESS_TOKEN");
request.AddHeader("cache-control", "no-cache");
request.AddParameter("application/json", "{ \"members\": [ \"USER_ID\", \"USER_ID\", \"USER_ID\" ] }", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Was this helpful?
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://your_auth0_domain/api/v2/organizations/ORG_ID/members"
payload := strings.NewReader("{ \"members\": [ \"USER_ID\", \"USER_ID\", \"USER_ID\" ] }")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("content-type", "application/json")
req.Header.Add("authorization", "Bearer MGMT_API_ACCESS_TOKEN")
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://your_auth0_domain/api/v2/organizations/ORG_ID/members")
.header("content-type", "application/json")
.header("authorization", "Bearer MGMT_API_ACCESS_TOKEN")
.header("cache-control", "no-cache")
.body("{ \"members\": [ \"USER_ID\", \"USER_ID\", \"USER_ID\" ] }")
.asString();
Was this helpful?
var axios = require("axios").default;
var options = {
method: 'POST',
url: 'https://your_auth0_domain/api/v2/organizations/ORG_ID/members',
headers: {
'content-type': 'application/json',
authorization: 'Bearer MGMT_API_ACCESS_TOKEN',
'cache-control': 'no-cache'
},
data: {members: ['USER_ID', 'USER_ID', 'USER_ID']}
};
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 MGMT_API_ACCESS_TOKEN",
@"cache-control": @"no-cache" };
NSDictionary *parameters = @{ @"members": @[ @"USER_ID", @"USER_ID", @"USER_ID" ] };
NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://your_auth0_domain/api/v2/organizations/ORG_ID/members"]
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://your_auth0_domain/api/v2/organizations/ORG_ID/members",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{ \"members\": [ \"USER_ID\", \"USER_ID\", \"USER_ID\" ] }",
CURLOPT_HTTPHEADER => [
"authorization: Bearer MGMT_API_ACCESS_TOKEN",
"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("your_auth0_domain")
payload = "{ \"members\": [ \"USER_ID\", \"USER_ID\", \"USER_ID\" ] }"
headers = {
'content-type': "application/json",
'authorization': "Bearer MGMT_API_ACCESS_TOKEN",
'cache-control': "no-cache"
}
conn.request("POST", "/api/v2/organizations/ORG_ID/members", 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://your_auth0_domain/api/v2/organizations/ORG_ID/members")
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 MGMT_API_ACCESS_TOKEN'
request["cache-control"] = 'no-cache'
request.body = "{ \"members\": [ \"USER_ID\", \"USER_ID\", \"USER_ID\" ] }"
response = http.request(request)
puts response.read_body
Was this helpful?
import Foundation
let headers = [
"content-type": "application/json",
"authorization": "Bearer MGMT_API_ACCESS_TOKEN",
"cache-control": "no-cache"
]
let parameters = ["members": ["USER_ID", "USER_ID", "USER_ID"]] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://your_auth0_domain/api/v2/organizations/ORG_ID/members")! 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 |
---|---|
ORG_ID |
ID de l’organization à laquelle vous souhaitez attribuer un abonnement. |
MGMT_API_ACCESS_TOKEN |
Jetons d’accès pour Management API avec la permission create:organization_members . |
USER_ID |
ID de(s) l’utilisateur(s) que vous voulez attribuer à l’organization spécifiée. Vous pouvez envoyer un maximum de 10 membres par organization et par demande. |
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 |
---|---|---|---|
204 |
Membres ajoutés à l’organisation. | ||
400 |
invalid_body |
Corps de requête non valide. Le message varie selon la cause. | La charge utile de la requête n’est pas valide. |
400 |
invalid_query_string |
Chaîne de requête non valide. Le message varie selon la cause. | La chaîne de requête n’est pas valide. |
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; permission attendue : create:organization_members . |
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. |