在Asp.Net Core中使用JWT认证(四) - 跨语言使用
文章系列目录 |
---|
在Asp.Net Core中使用JWT认证(一) - JWT介绍 |
在Asp.Net Core中使用JWT认证(二) - .Net Core中使用 |
在Asp.Net Core中使用JWT认证(三) - RSA非对称加密 |
在Asp.Net Core中使用JWT认证(四) - 跨语言使用 |
在Asp.Net Core中使用JWT认证(五) - 结束篇 一些常见问题 |
JWT(JSON Web Token),顾名思义,它是以JSON对象在网络中传输,而JSON基本上可以被各大语言所支持,所以JWT能轻松跨系统跨语言,本节将试一下Asp.Net Core 如何与 JAVA 进行JWT交互。
创建Spring Boot 项目
关于如何创建Spring Boot项目,这里就不再一一阐述,创建后的项目大概是这样。
创建Asp.Net Core项目
参考 在Asp.Net Core中使用JWT认证(二) - .Net Core中使用
JAVA颁布Token,.NET Core验证
Java中创建一个方法颁布Token,代码如下
@ResponseBody
@RequestMapping("/getToken")
public String getToken() {
String token= JWT.create()
.withIssuer("https://ut32.com")
.withAudience("moz_application")
.withIssuedAt(new Date())
.withExpiresAt(DateUtils.offset(new Date(),2, Calendar.MINUTE))
.sign(Algorithm.HMAC256("KQ6UhC2xODweTAIJ"));
return token;
}
访问 http://localhost:8080/getToken 获得token , 我们再将其粘贴都postman试试。从下图中 Status : 200 OK
中看出,此token已成功通过验证。
总结
JWT是跨语言跨系统的,注意点就是两边要用统一的加密方式(如果是非对称加密,还需统一key),沟通好待验证的字段,如Issuer,Audience等。