关注分享主机优惠活动
国内外VPS云服务器

JWT开发工具(jwt源码)

摘要:介绍如何实现基于开放标准的身份验证方法,以在网络应用程序环境之间传输声明。 其他资源,例如用户登录信息,只有在用户身份信息认证成功后才能检索。 防止信息篡改最重要的作用包括三个部分。 公共部分 私有部分 签名部分。

1. 概述: (1.1) JWT (Json Web Token):

实现基于 JSON 的开放标准,用于在网络应用程序环境之间发送声明。

(1.2) JWT认证用户身份信息:

认证成功后只能获取用户登录等其他资源

(1.3)JWT最重要的作用:

防止伪造token信息

(1.4)JWT原理:由三部分组成:公共部分、私有部分、签名部分。 最后进行base64编码将三者结合起来得到JWT

如图所示,

(1.4.1)公共部分

主要是, JWT的相关配置参数,如加密算法、格式类型、过期时间等。 P> (1.4.2)私有部分

用户根据实际需要定制的内容,实际封装的信息

UserInfo {用户ID,用户昵称NickName}

P>

(1.4.3)签名部分

Saltip:当前服务器IP地址!{在Linux上配置代理服务器IP}

如果主用户生成字符串加密{盐值}。

最终配置:key+salt+userInfo è token!

Base64编码:未加密,只是将显式信息转换为不可见的字符串即可。

但实际上,只要使用一些工具,就可以使用base64。 </p </p </p

因此,请不要输入任何与 JWT 相关的个人信息

官方网站:

JSON Web Tokens 简介 - jwt.iohttps://jwt.io/introduction

3.SpringBoot 集成 JWT: (2.1) pom.xml 文件:jjwt org.springframework.util.StringUtils 导入。 导入 java.util.Date; /** .                                     public class JwtHelper { //基于expiry参数的Token public static String createToken(Long userId , String Username) { string token = jwts.builder () .setsubject("项目名称或其他") .setexpiration(new date(System.CurrenTtimemillis) ()) .Cl AIM("用户id", 用户id) .claim("用户名", 用户名) .signWith(SignatureAlgorithm.HS512, tokenSignKey) .compressWith(CompressionCodecs.GZIP) .compact();网址令牌。 ws = parseclaimsjws(token); Claims Claims = Claimsjws.getBody (); Return Userid.longvalue (); // 根据 token 字符串获取用户名getUserName(String token) { if(StringUtils.isEmpty(token)) return "" JwsclaimsJws = ClaimsJws(token);(); return (String)claims.get("userName"); public static void main(String[] args) { String token = JwtHelper.createToken(1L, "lucy"); System.out.println(JwtHelper.getUserId(token)); System.out.println(JwtHelper.getUserName(token)); 如果需要生成token,则调用JWT工具类生成token。 就是这样!

未经允许不得转载:主机频道 » JWT开发工具(jwt源码)

评论 抢沙发

评论前必须登录!