因项目要前后端彻底分离,故采用JWT 进行验证
JWT 链接地址:https://github.com/auth0/java-jwt
maven 配置:
<dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.2.0</version> </dependency>
生成key:
Algorithm algorithmHS = Algorithm.HMAC256("secret");
生成基于RSA的key
//RSA RSAPublicKey publicKey = //Get the key instance RSAPrivateKey privateKey = //Get the key instance Algorithm algorithmRS = Algorithm.RSA256(publicKey, privateKey);
-
- iss(Issuser):代表这个JWT的签发主体;
- sub(Subject):代表这个JWT的主体,即它的所有人;
- aud(Audience):代表这个JWT的接收对象;
- exp(Expiration time):是一个时间戳,代表这个JWT的过期时间;
- nbf(Not Before):是一个时间戳,代表这个JWT生效的开始时间,意味着在这个时间之前验证JWT是会失败的;
- iat(Issued at):是一个时间戳,代表这个JWT的签发时间;
- jti(JWT ID):是JWT的唯一标识。
本文介绍了一种前后端分离项目的认证方案——JWT(JSON Web Token),并详细解释了如何使用Java实现JWT的生成与验证,包括基于HMAC256及RSA算法的密钥生成方式,同时列举了JWT中常见的声明字段。
21万+

被折叠的 条评论
为什么被折叠?



