【问题标题】:How do I encrypt the JWT tokens in Thinktecture Identity Server?如何在 Thinktecture Identity Server 中加密 JWT 令牌?
【发布时间】:2014-06-16 04:27:05
【问题描述】:

Thinktecture.IdentityServer 是否支持对其发出的 JWT 令牌进行加密,例如保护令牌不被用于回复攻击?

如果是,客户端如何解密加密的令牌?

我尝试在 IdentityServer 常规配置中启用“需要令牌加密”,但是在尝试登录后,我在身份服务器网页上收到“没有可用的加密密钥”消息。

是有问题还是我缺少必需的设置?

【问题讨论】:

    标签: jwt thinktecture-ident-server thinktecture-ident-model openid-connect


    【解决方案1】:

    加密是为了保密,而不是为了防止重放攻击。

    Microsoft jwt 库不支持加密。我们依赖那个库。

    【讨论】:

    • 我还有一个问题是我使用abc.def.com/issue/oauth2/authorize 并且只使用javascript 将参数传递给身份服务器然后我可以获得访问令牌。我只需要使用 Base64Url 来解码这个访问令牌。我不想让用户或黑客可以轻松解码它。我们有可能加强这个安全问题吗?再次感谢。
    • 这本身不是安全问题。令牌已签名,发行后无法更改。 Microsoft 的库不支持加密 - 因此,如果机密性对您来说是个问题 - 您不能使用当前的 JWT 实现。
    • 你的意思是没有人不能更改令牌对吗?我尝试将访问令牌放入Google JWT decoder,然后我得到了三个patrs:header,claims,Signature。如果有人试图更改声明,那么他会将这些信息重新包装到新的访问令牌中。并将这个新令牌传递给我的 RP 客户端是不可能的?如果没有,我可以使用 header(x5t) 字符串和签名字符串在我的 RP 客户端验证新令牌吗?
    • 这是不可能的——因为你会破坏签名。
    猜你喜欢
    • 2014-04-19
    • 2019-07-25
    • 2018-11-25
    • 2013-08-15
    • 2016-07-17
    • 2015-05-29
    • 2020-07-15
    • 1970-01-01
    • 2023-01-14
    相关资源
    最近更新 更多