客户端是否使用收到的JWT令牌回叫服务器



我是JWT的新手,因此我试图理解使用JWT时的复杂性和期望。在我的情况下,我拥有生成JWT令牌的微服务。JWT支持RS256和HS256机制。据我所知,在RS256的情况下,我将公钥分发给我的客户端。在HS256的情况下,我将秘密分发给我的客户。

假设我允许我的客户访问其中任何一个,客户的期望是什么?客户是否应该将我传递回他们的令牌视为不可变的,而他们只是在随后的API调用中向我发送确切的令牌?还是建议/允许他们更改令牌并创建一个新的令牌,例如通过更改令牌有效负载中的受众等内容,然后让我的服务器验证新传递的令牌?我的服务器应该能够验证这两个令牌,但我不知道推荐哪种方法。如果推荐的方法是让我的客户端不更改令牌,为什么我首先需要将密钥分发给客户端?

不要将密钥分发给客户端。客户端应该无法修改JWT访问令牌。它应该将令牌视为不透明的。

只有接受令牌的资源服务器(公开API(才能验证签名。

在OAuth2中,客户端是获取访问令牌并使用它来调用API服务器的应用程序。它不应该关心令牌,只要它能够调用API。

授权服务器对用户进行身份验证,获得用户的同意并向客户端颁发令牌。

客户端然后使用令牌来调用具有Authorization报头中的令牌的资源服务器(API(。

在您的情况下,授权服务器和资源服务器可能是相同的,但它们不应与客户端共享签名密钥。

相关内容

  • 没有找到相关文章

最新更新