什么是Token?Token的优点有哪些?

雨后彩虹 334 0
,

众所周知,Token(令牌)是在服务器上生成的。如果前端使用用户名/密码向服务器请求认证,服务器认证成功,那么服务器会将令牌返回给前端,前端每次请求都可以带上令牌证明自己的合法身份。如果此令牌持续存在于服务器端(例如,存储在数据库中),则它是一个永久的身份令牌。因此对于初学者来说,对Token和Session的使用难免会限于困境,开发过程中只是知道有这个东西,但却不知道Token的优点有哪些?更不知道什么是Token?今天小编就带大家一起分析分析这东西。

什么是Token?

Token是用户身份的认证方式,通常叫它:“令牌”。当用户第一次登录后,服务器生成一个Token并将其返回给客户端,以后客户端只需带上这个令牌前来请求数据即可,就无需再次带上用户名和密码。

认证流程:

1, 客户端使用用户名和密码请求登录;

2, 服务端收到请求,去验证用户名与密码;

3, 验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端;

4, 客户端收到 Token 以后可以把它存储起来,比如放在 里或者 Local Storage 里;

5, 客户端每次向服务端请求资源的时候需要带着服务端签发的 Token;

6, 服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据;

总的来说就是客户端在首次登陆以后,服务端再次接收http请求的时候,就只认Token了,请求只要每次把token带上就行了,服务器端会拦截所有的请求,然后校验token的合法性,合法就放行,不合法就返回401(失败)。

Token的优点有哪些?

1.token(令牌)完全由应用程序管理,因此可以避免同源策略。(Cookie不允许跨域访问,且令牌不存在)

2.令牌可以避免CSRF攻击(也因为不需要cookie)

3.令牌可以是无状态的,并且可以在多个服务之间共享。

4.令牌支持手机访问(Cookie不支持手机访问)

服务器只需要解密浏览器发来的令牌值,解密后查询用户数据。如果查询成功,它将被认证。因此,即使有多个服务器,服务器也只是解密令牌和查询用户数据,不需要在服务器上保存用户的认证信息或会话信息,这意味着基于令牌认证机制的应用不需要考虑用户登录哪个服务器,为应用扩展提供了便利,解决了可扩展性的弊端。

以上内容就是小编今天要带给您的资讯,不知道您还喜欢吗?如果您觉得对您有帮助的话,欢迎常来腾赚网

标签: 欧易 欧易下载 欧义app ouyi

抱歉,评论功能暂时关闭!