接入令牌有多安全?

问题描述 投票:0回答:2

我一直在阅读有关在微服务体系结构中保护API的OAuth 2.0授权代码流程,但我不明白Auth Server发出的访问令牌应如何保护另一个服务器中托管的API。

该访问令牌是否也保留在API中,并且当客户端尝试使用Auth Server发行的访问令牌来访问它时,API会检查其中是否包含它?如果是这样,是否意味着访问令牌在身份验证过程中同时发送到客户端和受保护的API?

我希望已经很好地解释了我的问题。预先感谢。

security oauth-2.0 jwt microservices access-token
2个回答
0
投票

访问令牌可以理解为政府根据身份证明签发给公民的护照。当您将其带到另一个国家/地区时,他们会查看该文档并信任该文档,因为他们信任该国家/地区,而您又是您是该文档的持有人,并附有详细信息。他们相信护照不能摆弄,允许您进入]

现在很简单,访问令牌现在是授权服务器验证用户。验证后,它将向用户颁发JWT令牌(访问令牌)。该令牌使用私钥签名。它具有您的详细信息,并与签名一起编码。现在,您可以将此令牌带给拥有公钥并信任授权服务器的任何第三方。现在,当您与该第三方共享访问令牌时,它将使用公钥来验证令牌并检查是否过期。如果有效,则允许您进入。因此,API确实不需要与身份验证服务器进行对话或保留有关令牌的任何详细信息。它所需要的只是一个用于解码令牌的公共密钥。

现在有两件事。一个如果您放开访问令牌,或者某个不打算获取您的令牌的人获得了它,那么他可以做任何他想做的事,并且身份验证服务器将无法做很多事情。但是,如您所见,这种方法减少了系统(特别是微服务)的混乱程度。

因此,为了解决这个问题,我们限制了访问令牌的有效期。像护照一样,它也有有效期。您保留的时间越短,用户就必须使用身份验证服务器来刷新令牌。每次他这样做时,身份验证服务器都会进行一次更改以验证凭据和其他详细信息。如果它们不匹配,则访问令牌将不会刷新。


0
投票

[Anunay很好地模拟了JWT作为可移植,可信任的标识符在更高层次上的工作方式,但是由于OAuth不仅仅支持JWT身份验证,因此可能需要共享更多细节。

© www.soinside.com 2019 - 2024. All rights reserved.