Session 了解JWT和会话的授权部分

Session 了解JWT和会话的授权部分,session,jwt,microservices,jwt-auth,Session,Jwt,Microservices,Jwt Auth,因此,我了解了如何使用JWT进行身份验证,我们基本上使用私钥验证令牌是否有效(假设RSA是算法)。如果令牌有效,则认为用户已通过身份验证我还阅读了有关会话身份验证的内容,其中我们检查用户提供的会话id(通过cookie)是否存在于会话存储中(假设使用mysql/redis存储会话)。如果存在,则认为该用户已通过身份验证 但是我们如何使用JWT和会话进行授权呢?让我们考虑一个动作,如获取发票< /代码>,由此用户只能查看他拥有的发票。< /P> 如果我们认为用户已经被认证了, 如果我们使用JWT,

因此,我了解了如何使用JWT进行身份验证,我们基本上使用私钥验证令牌是否有效(假设RSA是算法)。如果令牌有效,则认为用户已通过身份验证

我还阅读了有关会话身份验证的内容,其中我们检查用户提供的会话id(通过cookie)是否存在于会话存储中(假设使用mysql/redis存储会话)。如果存在,则认为该用户已通过身份验证

但是我们如何使用JWT和会话进行授权呢?让我们考虑一个动作,如<代码>获取发票< /代码>,由此用户只能查看他拥有的发票。< /P>

如果我们认为用户已经被认证了,

如果我们使用JWT,如何检查用户是否获得授权


我们该怎么做呢?

你可能把事情弄糊涂了。使用JWT的好处之一是避免维护会话,这是扩展中的一个大瓶颈

JWT(JSONWebToken)携带所有需要它进行身份验证的信息,您不需要维护会话。对服务器的每个HTTP请求都将携带JWT,该JWT将包含必要的用户声明,包括签名。在服务器上,您将验证签名以验证令牌是否有效。您可以在不维护任何会话的情况下验证令牌,并且有多种方法来验证令牌

由于JWT本质上是一个Json对象(头、主体、签名),所以您可以在JWT主体中放入声明(电子邮件、角色、概要文件等)。验证令牌后,可以提取包括任何角色的声明,并检查用户是否有权访问资源

您必须查看Open ID Connect和令牌