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 :

  1. Naviguez vers Auth0 Dashboard > Organizations, et sélectionnez l’organisation pour laquelle vous souhaitez configurer l’appartenance.

  2. Sélectionnez l’affichage Membres, puis Ajouter des membres et AAjouter des utilisateurs.

  3. 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.