gpt4 book ai didi

c# - 在基于 .Net 4.0 的应用程序中解码 JWT token

转载 作者:太空宇宙 更新时间:2023-11-03 14:47:12 25 4
gpt4 key购买 nike

我正在开发一个基于 .Net 4.0 Framework 并实现 ASP.NET Web API 的项目。我的要求是解码进入 API 的 JWT token 。我正在探索“使用 System.IdentityModel.Tokens.JWT”,但似乎这仅与 .Net 4.5 兼容。如何在基于 .Net Framework 4.0 的项目中访问 JWT 功能?

最佳答案

我在做一个 .net 4 项目,发现 JWT-Dotnet 很有帮助。这是 docs .
可以使用 nuget 轻松安装。可以找到有关 NUGET 的详细信息 here

安装包 JWT - 版本 7.3.1

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

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");
}

关于c# - 在基于 .Net 4.0 的应用程序中解码 JWT token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53593208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com