Playframework 在play框架中实现访问令牌的最佳方法是什么
我正在做一个PlayFramework2.5项目,它为开发者提供API服务 我现在想用play框架实现访问令牌,以便控制服务器API的访问 我已经实现了应用程序密钥和应用程序密钥。任何人都可以建议如何生成访问令牌吗?使用JavaWebTokens(jwt),它将始终为您提供唯一的密钥Playframework 在play框架中实现访问令牌的最佳方法是什么,playframework,playframework-2.2,playframework-2.1,playframework-2.3,playframework-2.5,Playframework,Playframework 2.2,Playframework 2.1,Playframework 2.3,Playframework 2.5,我正在做一个PlayFramework2.5项目,它为开发者提供API服务 我现在想用play框架实现访问令牌,以便控制服务器API的访问 我已经实现了应用程序密钥和应用程序密钥。任何人都可以建议如何生成访问令牌吗?使用JavaWebTokens(jwt),它将始终为您提供唯一的密钥 public String getJWT(){ Date now = new Date(); long t = now.getTime(); Date expirationTime =
public String getJWT(){
Date now = new Date();
long t = now.getTime();
Date expirationTime = new Date(t + 1300819380);
return Jwts.builder()
.setSubject("any subject")
.setIssuedAt(now)
.setExpiration(expirationTime)
.signWith(SignatureAlgorithm.HS512, "username")
.compact();
}
<--! to validate jwt -->
public boolean validateJWT(String jwt){
try {
Jwts.parser().setSigningKey("username").parseClaimsJws(jwt);
return true;
} catch (Exception e) {
// TODO: handle exception
return false;
}
}
公共字符串getJWT(){
现在日期=新日期();
long t=now.getTime();
日期到期时间=新日期(t+1300819380);
返回Jwts.builder()
.setSubject(“任何主题”)
.setIssuedAt(现在)
.setExpiration(到期时间)
.signWith(SignatureAlgorithm.HS512,“用户名”)
.compact();
}
公共布尔validateJWT(字符串jwt){
试一试{
parser().setSigningKey(“用户名”).parseClaimsJws(jwt);
返回true;
}捕获(例外e){
//TODO:处理异常
返回false;
}
}
客户端如何使用生成的令牌与云通信?客户端是否需要调用一个api来获取令牌,然后使用令牌调用另一个api?将令牌存储在web浏览器的本地,并在每次调用api时将其添加到http头中,验证令牌是否有效并处理请求。谢谢,当令牌过期时,是否需要刷新令牌以请求新令牌?过期时,用户应再次登录,登录时应生成并存储此令牌