在Asp.Net Core中使用JWT认证(四) - 跨语言使用

作者 the7
发布于 2020年01月29日
评论 0
浏览 167
文章系列目录
在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等。

4条评论

  • 念往昔丶繁华竞逐

    2019年5月20日

    最后一个五官很漂亮,虽然脸稍微大了一点点,但也算普通人里漂亮的
  • Eleven

    2019年5月20日

    念往昔丶繁华竞逐:
    最后一个五官很漂亮,虽然脸稍微大了一点点,但也算普通人里漂亮的...
    这帖子真的是精品。美中不足的是,为什么要用繁体,虽然能看懂,但有些麻烦呀。
  • SukiU

    2019年5月20日

    我曾在某外企互联网公司工作过一段时间,他们就是那种工作时间聊天摸鱼,下班时间拼命工作,然后加班蹭加班费和补贴😂
微信公众号
站长帮
微信公众号,每日更新!