繁体   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