Révoquer les clés de connexion

Vous pouvez révoquer la clé de connexion de l’application ou de l’API de votre locataire en utilisant Auth0 Dashboard ou Management API. La clé de connexion est utilisée pour signer les jetons d’ID, les jetons d’accès, les assertions SAML et les assertions WS-Fed envoyées à votre application ou à votre API. Pour en savoir plus, consultez Clés de connexion.

Prérequis

  • Avant de pouvoir révoquer une clé de connexion précédemment utilisée, vous devez d’abord procéder à une rotation de la clé. Pour en savoir plus, consultez Rotation des clés de connexion ou consultez la section Rotation et révocation des clés de connexion ci-dessous.

  • Assurez-vous d’avoir mis à jour votre application ou votre API avec la nouvelle clé avant de révoquer la clé précédente.

Utiliser le Dashboard

Révoquer la clé de connexion précédemment utilisée

  1. Allez à Dashboard > Paramètres > Clés de connexion.

  2. Dans la section Liste des clés valides, localisez la clé précédemment utilisée, sélectionnez le menu Plus d’options () et sélectionnez Révoquer la clé. La section Liste des clés valides répertorie la clé de connexion actuellement utilisée par votre locataire, ainsi que la prochaine clé de connexion qui sera attribuée si vous décidez d’effectuer une rotation de vos clés de connexion. Si vous avez déjà effectué une rotation des clés de connexion, cette section répertorie également les clés utilisées précédemment. La section Liste des clés révoquées répertorie les trois dernières clés révoquées de votre locataire.

  3. Sélectionnez Révoquer pour confirmer.

Rotation et révocation des clés de connexion

  1. Allez à Dashboard > Paramètres > Clés de connexion.

  2. Dans la section Rotation Settings (Paramètres de rotation), localisez la section Rotate & Revoke Signing Key (Rotation et révocation de la clé de connexion) et sélectionnez Rotate & Revoke Key (Rotation et révocation de la clé).

  3. Sélectionnez Rotation et révocation pour confirmer.

Utiliser Management API

  1. Pour obtenir une liste des clés de connexion, effectuez un appel GET au point de terminaison GObtenir toutes les clés de connexion d’application.

  2. Faites un appel PUT au point de terminaison Révoquer une clé de connexion d’application par son identifiant de clé. Assurez-vous de remplacer les valeurs des paramètres fictifs {yourKeyId} et {yourMgmtApiAccessToken} par votre identifiant de clé de connexion et votre jeton d’accès à Management API, respectivement.

    
    
    curl --request PUT \
      --url 'https://{yourDomain}/api/v2/keys/signing/%7ByourKeyId%7D/revoke' \
      --header 'authorization: Bearer {yourMgmtApiAccessToken}'

    Was this helpful?

    /
    var client = new RestClient("https://{yourDomain}/api/v2/keys/signing/%7ByourKeyId%7D/revoke");
    var request = new RestRequest(Method.PUT);
    request.AddHeader("authorization", "Bearer {yourMgmtApiAccessToken}");
    IRestResponse response = client.Execute(request);

    Was this helpful?

    /
    package main
    
    import (
    	"fmt"
    	"net/http"
    	"io/ioutil"
    )
    
    func main() {
    
    	url := "https://{yourDomain}/api/v2/keys/signing/%7ByourKeyId%7D/revoke"
    
    	req, _ := http.NewRequest("PUT", url, nil)
    
    	req.Header.Add("authorization", "Bearer {yourMgmtApiAccessToken}")
    
    	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.put("https://{yourDomain}/api/v2/keys/signing/%7ByourKeyId%7D/revoke")
      .header("authorization", "Bearer {yourMgmtApiAccessToken}")
      .asString();

    Was this helpful?

    /
    var axios = require("axios").default;
    
    var options = {
      method: 'PUT',
      url: 'https://{yourDomain}/api/v2/keys/signing/%7ByourKeyId%7D/revoke',
      headers: {authorization: 'Bearer {yourMgmtApiAccessToken}'}
    };
    
    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 {yourMgmtApiAccessToken}" };
    
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://{yourDomain}/api/v2/keys/signing/%7ByourKeyId%7D/revoke"]
                                                           cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                       timeoutInterval:10.0];
    [request setHTTPMethod:@"PUT"];
    [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/keys/signing/%7ByourKeyId%7D/revoke",
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => "",
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 30,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => "PUT",
      CURLOPT_HTTPHEADER => [
        "authorization: Bearer {yourMgmtApiAccessToken}"
      ],
    ]);
    
    $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 {yourMgmtApiAccessToken}" }
    
    conn.request("PUT", "/{yourDomain}/api/v2/keys/signing/%7ByourKeyId%7D/revoke", 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/keys/signing/%7ByourKeyId%7D/revoke")
    
    http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    
    request = Net::HTTP::Put.new(url)
    request["authorization"] = 'Bearer {yourMgmtApiAccessToken}'
    
    response = http.request(request)
    puts response.read_body

    Was this helpful?

    /
    import Foundation
    
    let headers = ["authorization": "Bearer {yourMgmtApiAccessToken}"]
    
    let request = NSMutableURLRequest(url: NSURL(string: "https://{yourDomain}/api/v2/keys/signing/%7ByourKeyId%7D/revoke")! as URL,
                                            cachePolicy: .useProtocolCachePolicy,
                                        timeoutInterval: 10.0)
    request.httpMethod = "PUT"
    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?

    /
    Valeur Description
    YOUR_KEY_ID ID de la clé de connexion à révoquer. Pour savoir comment trouver l’ID de votre clé de connexion, consultez Localiser des ensembles de clés Web JSON.
    MGMT_API_ACCESS_TOKEN Jeton d’accès pour Management API avec la permission update:signing_keys.

En savoir plus