使用机器对机器和基于用户的身份验证的JWT嵌套身份验证和授权是一件事吗?



像我五岁一样解释给我听。

通常使用机器到机器身份验证和基于用户的身份验证吗?含义:如果我有一个接受用户请求的网关或代理,并且它在处理或转发请求到应用服务器之前验证与用户请求一起进来的JWT,期望使用机器对机器的JWT来确保到达应用服务器的请求来自网关,这是正常的还是错误的使用?此外,在向应用程序服务器发出请求时,将用户的JWT包装或嵌套在机器对机器的JWT中是正常的还是错误的?

仅仅让网关验证JWT签名和声明,并根据需要将其转发到各种应用服务器,是不是更典型?

以这种方式嵌套jwt的愿望是过分的,还是一些误用/"您持有错误"的情况?

如果你有一堆通过网关调用的后端微服务,那么通常会转发原始访问令牌——这为你的api提供了用户上下文,以便他们可以正确授权。

反向代理的一个更好的用途是将机密令牌交换给那些具有丰富声明的令牌——请参阅幻影令牌方法了解其工作原理。

还请注意,建议每个API都验证JWT——这通常被描述为零信任体系结构,它可以防止中间人的攻击。

最新更新