署名鍵を取り消す
Auth0 DashboardやManagement APIを使って、テナントのアプリケーションの署名鍵を取り消すことができます。署名鍵は、アプリケーションやAPIに送信されたIDトークン、アクセストークン、SAMLアサーション、およびWS-Fedアサーションを署名するのに使用されます。詳細については、「署名鍵」をお読みください。
前提条件
以前使用された署名鍵を取り消す前に、必ず署名鍵をローテーションしなければなりません。詳細については、「署名鍵をローテーションする」または以下の「署名鍵をローテーションして取り消す」セクションをお読みください。
以前の鍵を取り消す前に、必ず、新しい鍵でアプリケーションやAPIを更新してください。
Dashboardを使用する
以前に使用していた署名鍵を取り消す
[List of Valid Keys(有効な鍵のリスト)]セクションで、[Previously Used(以前に使用していた)]鍵に移動し、詳細オプション((「...」)メニューから[Revoke Key(鍵を取り消す)]を選択します。[List of Valid Keys(有効な鍵のリスト)]セクションには、テナントで現在使用されている署名鍵に加えて、署名鍵のローテーションで次に使用される署名鍵がリストされています。以前に署名鍵をローテーションしたことがある場合には、以前に使用されていた署名鍵もリストに含まれます。[List of Revoked Keys(取り消された鍵のリスト)]セクションには、テナントで最近取り消された3つの署名鍵がリストされます。
[Revoke(取り消す)]を選択して確認します。
署名鍵をローテーションして取り消す
[Rotation Settings(ローテーションの設定)]セクションで、 [Rotate & Revoke Signing Key(署名鍵のローテーションと取り消し)]セクションに移動し、[Rotate & Revoke Key(鍵のローテーションと取り消し)]を選択します。
[Rotate & Revoke(ローテーションと取り消し)]を選択して確認します。
Management APIの使用
署名鍵のリストを取得するには、全アプリケーション署名鍵の取得エンドポイントに
GET
呼び出しを行います。鍵のIDでアプリケーションの署名鍵取り消しエンドポイントに
PUT
呼び出しを行います。{yourKeyId}
と{yourMgmtApiAccessToken}
のプレースホルダーの値を、それぞれ署名鍵IDとManagement APIのアクセストークンに置き換えてください。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?
/値 説明 YOUR_KEY_ID
取り消す署名鍵のID。署名鍵IDを見つける方法については、「JSON Web鍵セットを見つける」を参照してください。 MGMT_API_ACCESS_TOKEN
スコープ update:signing_keys
を持つManagement APIのアクセストークン。