首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpringCloud微服务JSON令牌安全性

SpringCloud微服务JSON令牌安全性
EN

Stack Overflow用户
提问于 2016-07-22 11:32:01
回答 1查看 1.3K关注 0票数 2

我有一个多个微服务体系结构,我打算在其中应用安全性。

将在LDAP上进行身份验证,当用户通过身份验证时,将使用“秘密密钥”生成JSON令牌(JWT),该令牌将具有角色、过期时间等。在每次调用微服务时,该令牌将在头中传递授权。在我看来,我只有一个auth服务器,它对用户进行身份验证并生成JWT。

我的怀疑:

现在,当微服务接收到一个调用(在头中包含JWT )时,它是否总是访问auth服务器来验证令牌?

如果是的话,,会不会导致对auth服务器的多个调用,从而导致错误的做法?

如果没有,客户端将如何验证令牌,以及auth服务器的作用域是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-22 12:10:28

JWT总是被签名的,这样您就可以验证给定的令牌,而无需调用某个中央auth实例。auth服务器知道签名令牌的秘密,所有想要验证令牌的服务也需要有一种方法来检查这个令牌。

有两种不同的签署方式:

  • 对称:在散列有效载荷之前附加一个秘密值。消费服务还需要知道这个秘密,并可以通过将秘密附加到所接收的有效负载并使用传输的哈希检查结果哈希来验证。
  • 不对称:通过使用某些PKI签名/验证,可能只有auth服务器拥有签名令牌的私钥。因此,所有消费服务只需要公共部分来验证。

我更喜欢第二种方式,因为它减少了钥匙被偷的机会。如果其中一个正在使用的服务被劫持,则不会丢失任何秘密,因此攻击者可以创建有效的令牌。使用这种算法可能需要更多的时间/ cpu周期来验证,而不是以对称方式使用的简单散列。

有关不同机制的示例,请参见JWT官方页面:https://jwt.io/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38525388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档