2017-03-08 63 views
0

我正在使用Identity Server 4作爲身份提供者。身份驗證服務器如何在API或我們使用授權屬性時驗證令牌?

獲取成功登錄的令牌後,我們將此令牌傳遞給資源服務器。

我的問題是資源服務器端的Identity Server提供程序如何驗證提交的令牌?

當我使用fiddler觀察流量時,我沒有看到任何請求將令牌提交給提供程序檢查。

這意味着資源服務器端的Identity Server提供程序正在驗證令牌嗎?

那麼爲什麼我們需要提供權威,當它不檢查它呢?

資源端的身份服務器提供程序如何確保它由有效的令牌提供程序發佈?

回答

0

JWT tokens是自包含的,並且不需要往返驗證它們在每次使用時仍然有效......只要它們沒有過期,它們都是有效的,如果它們沒有被過期,則爲篡改只涉及簽名檢查。

你可以設置你的客戶了,雖然要求reference tokens(和設置您的API來接受它們),而這些令牌每次使用時涉及往返。您有能力撤銷令牌,而您無法使用JWT來執行令牌。

2

資源服務器不會通過線路將令牌發送給身份提供程序以驗證令牌。這會給你的資源服務器帶來相當大的開銷。

取而代之的是資源服務器拉下(並可能緩存)位於{identityserverUrl}./well-known/openid-configuration的標識供應商發現文檔。本文檔包含的資料允許資源服務器在其自己的上下文中驗證令牌。這是ofcourse假設標記是一個的access_token(issuerjwks_uri

如果資源服務器使用的是類似JwtBearerAuthentication中間件或IdentityServer4.AccessTokenValidation中間件,這些東西會爲你做的。