簡體   English   中英

如何解密加密的訪問令牌? (OpenIddict 3.x)

[英]How does one decrypt an encrypted Access Token? (OpenIddict 3.x)

OpenIddict 3.x 版默認加密訪問令牌,但您可以禁用此功能。 如果重新啟用加密,客戶端是否可以解密令牌或者客戶端或依賴方將如何驗證訪問令牌?

到目前為止,我將簽名和加密密鑰都存儲在 Azure Key Vault 中,OpenIddict 服務器通過RsaKeyVaultProvider訪問和使用它。

任何需要驗證加密令牌的人都需要先對其進行解密。 因此,如果要使用加密,則必須向客戶端或 API 提供解密密鑰。 您還可以實現某種自省端點,它將接受加密的 JWT,對其進行驗證並返回聲明或僅確認 JWT 有效。 然后,任何客戶端或 API 都可以調用此端點來驗證令牌,您只需將解密密鑰提供給一方。

使用此 JWT 訪問的任何 API 也可以在它們前面有一個網關,它將解密 JWE 並僅傳遞簽名的 JWS。

還要記住,通常客戶不應該關心令牌的有效性。 客戶端只是將令牌發送到 API,要么得到正確的響應,要么沒有。

通常我不會使用加密令牌 go ,除非您非常需要它們。 如果您想對任何旁觀者隱藏令牌的內容,我會使用不透明的訪問令牌並實現Phantom 令牌模式 go。

暫無
暫無

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

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