簡體   English   中英

使用密鑰斗篷在 python API 中驗證 JWT 令牌

[英]Validate JWT token in python API with keycloak

我正在構建一個 python flask API。請求是從 UI 發送的,它們在 header 中包含一個已經授權的 JWT 令牌(如預期的承載令牌)。

我的 API 服務需要驗證令牌並從令牌中提取租戶。

我有幾個關於這樣的解決方案通常如何運作的問題。

  • API 是否只需要解碼令牌並從有效負載中獲取租戶?
  • api 無法驗證令牌的簽名,因為我沒有秘密,對嗎?
  • api juat 是否應該調用 auth. 服務器(在這種情況下是密鑰斗篷)? 如果是,有人可以為此編寫示例代碼。 哪些庫很好用?

謝謝

這里有一些答案。

  • 從純技術的角度來看,您確實可以解碼 JWT 令牌(有很多庫可以做到這一點)以提取有效負載聲明,並且可以“無服務器”進行
  • 秘密用於創建簽名,而不是驗證它。 當使用私鑰創建簽名(由 keycloak 服務器)時,客戶端應用程序可以使用公鑰對其進行驗證
  • 向 KC 服務器發出附加請求以解碼令牌還有一些附加值。 出於某些安全原因,(可能長期存在的)令牌可能已被丟棄以防止仍在使用。 在這種情況下,API 將返回否定答案。 您需要調用的 web 服務是“Token Introspection Endpoint”( https://www.oauth.com/oauth2-servers/token-introspection-endpoint/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM