Token是什么?
Token是一种标志用户登录,保持用户状态的一种认证方法,令牌(临时)是服务端生成的一串字符串,作为客户端进行请求的一个标识。
token产生的背景
HTTP 是一种没有状态的协议,也就是它并不知道是谁是访问应用。这里我们把用户看成是客户端,客户端使用用户名还有密码通过了身份验证,不过下回这个客户端再发送请求时候,还得再验证一下。
那么为什么要用Token,它能解决什么问题?
1.Token 完全由应用管理,所以它可以避开同源策略,即可以跨域访问
2.应用场景:单点登录(SSO)
3.单点登录的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统
4.Token 可以避免 CSRF 攻击
5.Token 可以是无状态的,可以在多个服务间共享
token执行流程
如何使用token
实施 Token 验证的方法挺多的,还有一些标准方法,比如 JWT,读作:jot ,表示:JSON Web Tokens 。JWT 标准的 Token 有三个部分:
- header
- payload
- signature
中间用点分隔开,并且都会使用 Base64 编码。