- 首先发起login接口,从server端拿取token
- 用token换取以及用户的用户名 | 密码 | 过期时间等其他的privateKey,通过jwt-simple(或其他插件)生成jwt code
- server端通过privateKey解析jwt code, 拿到token是正确的,则验证通过
- JWT(JSON Web Token)以JSON对象的形式在各方之间安全地传输信息。
- JWT是一个数字签名,生成的信息是可以验证并被信任的。
- JWT是目前最流行的跨域认证解决方案
第一次客户端访问服务器的时候, 服务器根据客户的唯一标识+ 数字签名生成一个令牌,发给客户端,之后的每次访问,客户端于服务端都通过这个令牌来标识彼此。这样,就无需持久化缓存session了。 为了相对更安全,可以设置令牌过期时间,每隔一段时间更新一次令牌。
- 授权:一旦用户登录,每个后续请求将包括JWT,从而允许用户访问该令牌允许的路由,服务和资源。单一登录是当今广泛使用JWT的一项功能,因为它的开销很小并且可以在不同的域中轻松使用。这也是JWT最常见的方案。
- 信息交换:JSON Web令牌是各方之间安全地传输信息的好办法。对JWT进行签名,所以您可以确保发件人是他们所说的人。由于,签名可以设置有效时长,可以验证内容是否遭到篡改。
token是服务端传给我的,每次发起请求的时候,我们需要带上此token。为了保证token的安全,需要在token上加一个session信息,此session信息被存储在服务器中,每次请求,需要和服务器中的session对比,找到了,及是安全的token。 这时便存在一个问题,如果存储session的服务挂了,那么所有的请求都会被认为是不安全的,这时我们就想到,有没有一种web token,及JWT。