asp.net – 如何使用JwtSecurityTokenHandler和JWKS端点验证JWT?
我正在使用IdentityServer4来保护多个服务的原型,但需要注意的是,这些服务很可能不会被迁移(在可预见的未来)以使用ASP.NET Core的OWIN中间件习惯用法.因此,我不能利用许多中间件助手来自动验证JWT,只需提供IdentityServer的着名JWKS端点等等. 如果我能重建这种行为会很好,我想尽可能利用微软的 JwtSecurityTokenHandler使用 ClaimsPrincipal ValidateJwt(string token,IdentityModel.Client.DiscoveryResponse discovery) { JwtSecurityToken jwt = new JwtSecurityToken(token); TokenValidationParameters validationParameters = new TokenValidationParameters { ValidateAudience = true,ValidateIssuer = true,RequireSignedTokens = true,ValidIssuer = "expected-issuer",ValidAudience = "expected-audience",IssuerSigningKeys = discovery.KeySet.Keys /* not quite */ }; JwtSecurityTokenHandler handler = new JwtSecurityTokenHandler(); SecurityToken validatedToken; return handler.ValidateToken(jwt,validationParameters,out validatedToken); } 如何从JsonWebKeySet到IEnumerable< SecurityKey>执行必要的转换?以便验证可以发生?是否有另一种方法(除了OWIN中间件)也可以使用上面的DiscoveryResponse数据? (遗憾的是,System.IdentityModel.Tokens.Jwt的文档不是最新的.) 解决方法检查此示例:https://github.com/IdentityServer/IdentityServer4.Samples/blob/dev/Clients/src/MvcManual/Controllers/HomeController.cs#L81 它从JWK手动检索密钥并填充验证参数. (编辑:鲜蔬坊站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net 读取xml文件里面的内容,绑定到dropdownlist中
- asp.net-mvc-3 – 使用自定义VirtualPathProvider加载嵌入式
- 在ASP.NET核心中间件中设置响应状态
- ASP.NET成员资格 – 让用户使用以前的密码
- 部署 – kestrel-hellomvc.service:步骤USER产生失败/usr/
- asp.net-mvc – 在.NET MVC上启用Http PUT请求
- asp.net – 自动将视频格式转换为Flash Video
- RSS2.0中文规范详解及示例
- ASP.NET – 可以从服务器代码触发回发吗?
- asp.net-mvc – 无法在Web服务器上启动调试.调试器无法连接
- asp.net确保javascript只加载一次
- asp.net-mvc-3 – 在同一父视图上多次使用一个部
- asp.net – 有谁知道如何摆脱我的.net网络服务的
- 如何在Asp.Net Mvc中进行Basecamp风格的账户?
- entity-framework – 如果EF 5,如何定义自定义命
- ASP.NET MVC下Ajax.BeginForm方式无刷新提交表单
- asp.net-mvc-3 – 将数组传递给RouteValues,并将
- ASP.NET中读取XML文件信息的4种方法与示例代码
- asp.net – 查询字符串参数使我的应用程序面临风
- ASP.NET网站管理系统退出 清除浏览器缓存,Sessio