首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在基于.Net 4.0的应用中解码JWT令牌

在基于.Net 4.0的应用中解码JWT令牌
EN

Stack Overflow用户
提问于 2018-12-03 19:47:12
回答 2查看 2.6K关注 0票数 6

我正在做一个基于.Net 4.0框架并实现ASP.NET Web的项目。我的要求是解码进入API的JWT令牌。我在探索“使用System.IdentityModel.Tokens.JWT”,但这似乎只与.Net 4.5兼容。如何在基于.Net Framework4.0的项目中访问JWT函数?

EN

回答 2

Stack Overflow用户

发布于 2019-06-28 16:12:17

经过反复试验,我发现jose-jwt支持.NET4

票数 0
EN

Stack Overflow用户

发布于 2021-01-31 21:42:02

我在做一个JWT4项目,发现.net -Dotnet很有帮助。这是docs

可以使用nuget轻松安装。有关NUGET的详细信息,请访问here

Install-Package JWT -Version 7.3.1

它从3.5开始支持.net。解码token非常简单。以下是文档中的示例。

代码语言:javascript
运行
复制
const string token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGFpbTEiOjAsImNsYWltMiI6ImNsYWltMi12YWx1ZSJ9.8pwBI_HtXqI3UgQHQ_rDRnSQRxFL1SR8fbQoS-5kM5s";
const string secret = "GQDstcKsx0NHjPOuXOYg5MbeJ1XT0uFiwDVvVBrk";

try
{
    IJsonSerializer serializer = new JsonNetSerializer();
    var provider = new UtcDateTimeProvider();
    IJwtValidator validator = new JwtValidator(serializer, provider);
    IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder();
    IJwtAlgorithm algorithm = new HMACSHA256Algorithm(); // symmetric
    IJwtDecoder decoder = new JwtDecoder(serializer, validator, urlEncoder, algorithm);
    
    var json = decoder.Decode(token, secret, verify: true);
    Console.WriteLine(json);
}
catch (TokenExpiredException)
{
    Console.WriteLine("Token has expired");
}
catch (SignatureVerificationException)
{
    Console.WriteLine("Token has invalid signature");
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53593208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档