当前位置: 首页 > news >正文

网站设计程序太仓网站建设

网站设计程序,太仓网站建设,网站服务器机房,西安做网站一般多少钱了解 JWT Token 释义及使用 | Authing 文档 JSON Web Token Introduction - jwt.io JSON Web Token (JWT#xff0c;RFC 7519 (opens new window))#xff0c;是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准#xff08;(RFC 7519)。该 token 被设计为紧凑…了解 JWT Token 释义及使用 | Authing 文档 JSON Web Token Introduction - jwt.io JSON Web Token (JWTRFC 7519 (opens new window))是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准(RFC 7519)。该 token 被设计为紧凑且安全的特别适用于分布式站点的单点登录SSO场景。JWT 的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息以便于从资源服务器获取资源也可以增加一些额外的其它业务逻辑所必须的声明信息该 token 也可直接被用于认证也可被加密。 1. 认证 传统的Session认证方式需要在服务器端存储用户登录信息通常而言session都是保存在内存中而随着认证用户的增多服务端的开销会明显增大。基于Token的认证方式不需要在服务端去保留用户的认证信息或者会话信息。 流程上是这样的 用户使用用户名密码来请求服务器服务器进行验证用户的信息服务器通过验证发送给用户一个token客户端存储token并在每次请求时附送上这个token值服务端验证token值并返回数据 2. JWT的结构 它采用缩写的形式包含三个部分由.分割包括以下三个部分 Header——头部Payload——有效荷载Signature——签名 因此JWT呈现为这种形式 xxxxx.yyyyy.zzzzz 2.1. Header 头部包含两个部分1token的类型即JWT2使用的签名算法如HMAC、SHA256或RSA 例如 {alg: HS256,typ: JWT } 2.2. Payload 该部分包含一些实体和数据的声明如用户等包括已注册声明、公开声明、私有声明三类。 例如 {sub: 1234567890,name: John Doe,admin: true } 2.3. Signature 要创建签名部分您必须获取编码的标头、编码的有效负载、密钥、标头中指定的算法然后对其进行签名。 3. 使用 jjwt10GitHub - jwtk/jjwt: Java JWT: JSON Web Token for Java and Android 目前jjwt10以上版本和jjwt9使用方法不同好像使用jjwt9还是偏多一些。 jjwt9jjwt 0.9.1 javadoc (io.jsonwebtoken) 以下代码是从mall项目中学习的JWT的工具类一般可作为模板使用主要提供了生成token和解析token的API使用的是jjwt9 Component public class JwtTokenUtil {private static final Logger LOGGER LoggerFactory.getLogger(JwtTokenUtil.class);//sub: subject主体即登录的主体一般是用户名private static final String CLAIM_KEY_USERNAME sub;//created表示创建时间private static final String CLAIM_KEY_CREATED created;Value(${jwt.secret})private String secret;Value(${jwt.expiration})private Long expiration;/*** 根据负载生成JWT的token* param claims 声明即JWT中的payload部分* return token:String*/private String generateToken(MapString, Object claims) {return Jwts.builder() //生成一个DefaultJwtBuilder类实例.setClaims(claims) //设置该DefaultJwtBuilder类实例的claims字段.setExpiration(generateExpirationDate()) //设置过期时间.signWith(SignatureAlgorithm.HS512, secret) //设置签名算法、密钥.compact(); //调用compact函数才能生成JWT}/*** 从token中获取JWT中的负载* param token* return Claims类实例*/private Claims getClaimsFromToken(String token) {Claims claims null;try {claims Jwts.parser().setSigningKey(secret).parseClaimsJws(token).getBody();} catch (Exception e) {LOGGER.info(JWT格式验证失败:{},token);}return claims;}/*** 根据expiration生成token的过期时间* return Date*/private Date generateExpirationDate() {return new Date(System.currentTimeMillis() expiration * 1000);}/*** 从token中获取登录用户名*/public String getUserNameFromToken(String token) {String username;try {Claims claims getClaimsFromToken(token);username claims.getSubject();} catch (Exception e) {username null;}return username;}/*** 验证token是否还有效** param token 客户端传入的token* param userDetails 从数据库中查询出来的用户信息*/public boolean validateToken(String token, UserDetails userDetails) {String username getUserNameFromToken(token);return username.equals(userDetails.getUsername()) !isTokenExpired(token);}/*** 判断token是否已经失效*/private boolean isTokenExpired(String token) {Date expiredDate getExpiredDateFromToken(token);return expiredDate.before(new Date());}/*** 从token中获取过期时间*/private Date getExpiredDateFromToken(String token) {Claims claims getClaimsFromToken(token);return claims.getExpiration();}/*** 根据用户信息生成token* param userDetails UserDetails类实例* return token*/public String generateToken(UserDetails userDetails) {MapString, Object claims new HashMap();claims.put(CLAIM_KEY_USERNAME, userDetails.getUsername());claims.put(CLAIM_KEY_CREATED, new Date());return generateToken(claims);} }
http://www.hkea.cn/news/14407960/

相关文章:

  • 建筑网站管桩进场验收规范怎样把字体导入wordpress
  • 网站建设哪公司好一款软件开发需要多少钱
  • 怎样制作一个个人网站做阿里国际网站要收费吗
  • 泰州网站制作方案焦作河南网站建设
  • 教学成果奖网站建设网站标题特殊符号
  • 网站建设页面要求惠州网站制作
  • 做一款app需要网站吗淄博网络科技有限公司
  • 网站开发背景和目的站长之家最新网站
  • 番禺网站建设外包湖南茶叶网站建设
  • 宁波自适应网站建设特点100条经典广告语
  • 曹县有没有做网站西安短视频代运营
  • 采招网招标官网广州百度快速优化排名
  • 做推广的网站谷歌seo代运营
  • 长锦船公司网站魔方优化大师官网
  • 天津网站建设 企航互联手机号码网站建设
  • 茶叶市场网站建设方案电商网站模板免费
  • 苏州市吴江区住房和城乡建设局网站自己建设自己的网站
  • 网站上面的小图标怎么做的做网站需要准备什么东西
  • 最便宜建站创意型网站
  • 金融投资网站建设游戏网站的设计
  • 做网站需准备些什么问题适合网站开发工程师的公司
  • 微信小程序怎拼做搬家网站wordpress更改固定连接
  • 网站建设销售主管岗位职责深圳公司网站改版通知
  • 郑州高端建站计算机专业吃香吗
  • 青岛网站建设网址宁波seo营销平台
  • 访问国外网站速度慢二级医院做网站
  • 免费网站安全软件大全游戏常州网站建设
  • 简单的seo网站优化排名管理咨询师资格证
  • 网站建设最好的网站百度百科
  • 美工培训网站建设部的网站首页