有兩個spring-boot應用程式。
clientresource-sever有 dev okta 帳戶用作auth server
(這 2 個應用程式是標準Spring Boot客戶端 -> 資源服務器,幾乎可以通過 okta 設定為它們開箱即用,在那里應該沒有問題)
client- 安全地將訊息發送到--> secure-sever(在標頭中傳遞訪問令牌以證明它有權呼叫它并取回資料)
(它按預期作業)
但我試圖弄清楚他們之間發生了什么,交通方面
我試圖在resource-server檢查token它從client那個從auth server.
這是標準的序列圖oauth 2.0 flow以及我要除錯的部分(箭頭)
auth server

之間有通信client,resource-sever:

似乎我無法確認資源服務器(從右側)是否使用(okta)進行任何令牌驗證auth-server..?
問:是為什么?據我了解,它應該(以某種方式)驗證它。
我期待看到使用令牌驗證請求(2015 年 10 月的 ETF RFC 7662)從資源服務器到身份驗證服務器(otka)的呼叫,如下所示:
如何驗證資源服務器的 OAuth 2.0 訪問令牌?
我期待,可以說,對于每個客戶端呼叫,資源服務器都會檢查客戶端傳遞的令牌是否有效。然而,我沒有看到任何從資源服務到 okta 的呼叫會在其對 okta 的請求中使用令牌。
uj5u.com熱心網友回復:
這歸結為 JWT 和不透明令牌之間的區別。
根據我看到的對/keys.
使用 JWT 身份驗證時,資源服務器將在啟動時查詢jwks_url(在這種情況下/keys)以檢索一組公鑰,可用于驗證 JWT 編碼的不記名令牌。
jwks_url然后,當資源服務器在來自客戶端的請求中接收到不記名令牌時,它將根據從端點獲得的公鑰驗證其簽名。
這意味著資源服務器不必在每個請求上查詢授權服務器。您可以在 Spring Security 參考檔案的OAuth 2.0 資源服務器 JWT部分中
閱讀有關此程序的更多資訊。
您鏈接到的問題是指不透明的令牌。在此設定中,資源服務器每次都
必須呼叫授權服務器自省端點來驗證令牌。您可以在 Spring Security 參考檔案的OAuth 2.0 Resource Server Opaque Token部分閱讀有關此程序的更多資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/454187.html
上一篇:使用自定義訊息回傳自定義ResponseEntity<>(HttpStatus.BAD_REQUEST)的最簡單方法?Java春季啟動
