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

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

0条评论

请先登录后发表评论
提交评论
标签云
css (1) less calc (1) C# (4) C#进制转换 (1) asp.net core (8) Authentication (1) 注销 (1) 登录 (1) 验证 (1) scroll-view (1) 微信小程序 (4) 滚动到底部 (1) StackExchange.Redis (1) google (1) 百度 (1) nginx (2) 大文件 (2) 微信小程序c#解密 (1) 微信小程序获取手机号 (1) openid (1) session_key (1) CDN (1) URL鉴权 (1) 阿里云 (1) async (1) await (1) 禁止下拉上滑效果 (1) Index类型 (1) Range类型 (1) dontent publish (1) dotnet publish在线生成器 (1) System.DrawingCore.GDIPlus报错 (1) centos (1) 中文字体 (1) SqlBulkCopy (1) SqlSugar (1) JWT (5) 认证 (3) RSA JWT (1) 非对称加密 (1) 写信 (1) 见字如面 (1) 优化建议 (2) 正确操作字符串 (1) Java (1) JWT退出 (1) RefreshToken (1) .NET Core网站开发框架 (1) Moz (3) 墨子 (1) JSON.NET (1) Newtonsoft (1) System.Text.Json (1) 自定义后台路径 (1) .netcore (1) quartz (2) 作业调度框架 (1) 作业调度 (1) 定时任务 (1) exception (1) 异常处理 (1) HttpClient (1) IHttpClientFactory (1) RDM (1) Redis (1) Redis Desktop Manager (1) RedisDesktopManager (1) linux (1) mac (1) windows (1) Could not get any response (1) postman (1) leetcode (2) 力扣 (1) 回文字符串 (1) 面试刷题 (1) centos7 (1) php安装 (1) 网易云插件 (1) 马甲App (1) Discuz插件 (1) 网易云音乐 (1) Blazor (1) 五子棋 (1) c#解题 (1) 最长连续序列 (1) Swagger (1) 在线文档 (1) blob (1) mp4 (1) 视频 (1) big file (1) 上传 (1) s (1) Azure (1) Azure Key Vault (1) Configuration (1) 密钥保管库 (1) Dapper安装 (1) Dapper是什么 (1) Dapper连接Mysql (1) Dapper连接SqlServer (1) dapper (1)