IdentityServer4 注銷端點


令牌注銷只針對引用令牌(reference token),官方翻譯叫令牌撤銷端點。

和自檢端點一樣,下面列出關鍵點:

URL方法:

POST /connect/revocation HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic xxxyyy

token=<token>&
token_type_hint=refresh_token  //可選,固定值:access_tokenrefresh_token

這里的關鍵點: Basic xxxyyy 是怎么來的

  與自檢端點有點小區別

   Convert.ToBase64String(Encoding.UTF8.GetBytes(string.Format("{0}:{1}", ClientId, ClientSecret))); 

   Convert.ToBase64String(Encoding.UTF8.GetBytes(string.Format("{0}:{1}", "roclient.reference", "secret")));   參考自檢端點文章的設置

 

postman方式:

  

  

 

 

 編程方式:

            var disco = await _cache.GetAsync();
            if (disco.IsError) throw new Exception(disco.Error);

            var client = new HttpClient();

            var result = await client.RevokeTokenAsync(new TokenRevocationRequest
            {
                Address = disco.RevocationEndpoint,
                ClientId = "roclient.reference",
                ClientSecret = "secret",

                Token = accessToken
            });

            if (result.IsError)
            {
                Console.WriteLine(result.Error);
            }
            else
            {
                Console.WriteLine(result.HttpErrorReason);
            }        

 

 注銷端點可以重復發,都會返回200,實際上令牌已經注銷,使用令牌自檢端點可以查看到令牌已經注銷了

 

參考地址:

https://identityserver4.readthedocs.io/en/latest/endpoints/revocation.html

https://identitymodel.readthedocs.io/en/latest/client/revocation.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM