JWT Token

作者: 孤帆一点 | 来源:发表于2018-05-18 16:19 被阅读0次

JWT token的组成

头部(Header),格式如下:
{
“typ”: “JWT”,
“alg”: “HS256”
}
由上可知,该token使用HS256加密算法,将头部使用Base64编码可得到如下个格式的字符串:

eyJhbGciOiJIUzI1NiJ9

有效载荷(Playload):
{
“iss”: “Online JWT Builder”,
“iat”: 1416797419,
“exp”: 1448333419,
…….
“userid”:10001
}

有效载荷中存放了token的签发者(iss)、签发时间(iat)、过期时间(exp)等以及一些我们需要写进token中的信息。有效载荷也使用Base64编码得到如下格式的字符串:

eyJ1c2VyaWQiOjB9

签名(Signature):
将Header和Playload拼接生成一个字符串str=“eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyaWQiOjB9”,使用HS256算法和我们提供的密钥(secret,服务器自己提供的一个字符串)对str进行加密生成最终的JWT,即我们需要的令牌(token),形如:str.”签名字符串”。

token在服务与客户端的交互流程

1:客户端通过用户名和密码登录
2:服务器验证用户名和密码,若通过,生成token返回给客户端。
3:客户端收到token后以后每次请求的时候都带上这个token,相当于一个令牌,表示我有权限访问了
4:服务器接收(通常在拦截器中实现)到该token,然后验证该token的合法性(为什么能验证下面说)。若该token合法,则通过请求,若token不合法或者过期,返回请求失败。

Token的优点

(1)相比于session,它无需保存在服务器,不占用服务器内存开销。
(2)无状态、可拓展性强:比如有3台机器(A、B、C)组成服务器集群,若session存在机器A上,session只能保存在其中一台服务器,此时你便不能访问机器B、C,因为B、C上没有存放该Session,而使用token就能够验证用户请求合法性,并且我再加几台机器也没事,所以可拓展性好就是这个意思。
(3)由(2)知,这样做可就支持了跨域访问。

相关文章

  • JWT 认证过程

    JWT Token Structure A JWT token contains a Header, a Payl...

  • jwt 在微服务中应用

    jwt token jwt 在api 方式中表中的token生成,验证以及获取jwt解密后携带的用户信息 jwt ...

  • 利用JWT生成Token

    开篇 实现Token的方式有很多,本篇介绍的是利用Json Web Token(JWT)生成的Token.JWT生...

  • 从session、cookie到token以及JWT

    从session、cookie到token以及JWT 主要讲token和jwt技术,关于session和cooki...

  • JWT token 介绍

    JWT token 介绍 JSON Web Token (JWT) 是一个开放标准 (RFC 7519),它定义了...

  • Token和Jwt存在什么区别

    token和jwt存在什么区别 token需要查库验证token 是否有效,而JWT不用查库或者少查库,直接在服务...

  • JWT介绍和使用

    最权威网址 JWT官网: https://jwt.io/ 什么是JWT Json web token (JWT),...

  • 浅析JWT

    1.JWT(JSON Web Token) JSON Web Token (缩写JWT) 是目前最流行的跨域认证解...

  • Gin jwt

    在线解析Token:https://jwt.io/[https://jwt.io/] JWT(JSON Web T...

  • 身份验证之JWT

    什么是(JWT)JSON Web Token ? 官网介绍JSON Web Token(JWT)是一个开放标准(R...

网友评论

      本文标题:JWT Token

      本文链接:https://www.haomeiwen.com/subject/qspdrftx.html