簡體   English   中英

在不調用 JWKS web 端點的情況下驗證 JWT - Python PyJWT

[英]Verify JWT without calling JWKS web endpoint - Python PyJWT

所以我有一堆端點,我使用 JWT 來驗證調用 function 的人是否是他們所說的人。

我注意到每次驗證 JWT 需要 0.3-0.4 秒,我認為這可以減少。 似乎是因為 JWKS 是從我的 auth0 web 服務器獲取的。 JWKS 永遠不會輪換,所以我想將我的 JWKS 存儲為環境變量並使用該值來解碼/驗證 JWT 令牌。

我目前正在使用 PyJWT,但似乎沒有直接提供 JWKS 的選項。

有誰知道如何做到這一點? 除了輪換 JWKS 並且隨后不在每個端點中更新之外,這樣做還有什么風險嗎?

我想到了

所以我需要做的就是為 JWT 生成公鑰。可以這樣做:

jwks = {} #JWK set
key = jwt.algorithms.RSAAlgorithm.from_jwk(jwks["keys"][0])

然后使用jwt.decode完成解碼,您只需輸入key作為“密鑰”參數

暫無
暫無

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

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