小编Dis*_*975的帖子

使用 C# 的公钥验证 JWT

我正在构建一个由用 C# 编写的 Azure 函数支持的 React 应用程序。我已经通过 Userfront 实现了 JWT 身份验证,它在前端工作正常,但我正在努力使用函数中的公钥来验证令牌。

我尝试了多种方法,JWT-DotNet是最新的但无济于事。

任何人都可以提供一个有效的代码示例吗?

这是我目前所拥有的(在创建带有“无法找到请求的对象”的新 RS256Algorithm 时出现哪些错误。):

var headers = req.Headers;
if (!headers.TryGetValue("Authorization", out var tokenHeader))
   return new StatusCodeResult(StatusCodes.Status403Forbidden);

var token = tokenHeader[0].Replace("Bearer ", "");

var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(Environment.GetEnvironmentVariable("Userfront_PublicKey"));

var urlEncoder = new JwtBase64UrlEncoder();
var publicKey = urlEncoder.Encode(plainTextBytes);

try
{
   IJsonSerializer serializer = new JsonNetSerializer();
   var provider = new UtcDateTimeProvider();
   IJwtValidator validator = new JwtValidator(serializer, provider);
   IJwtAlgorithm algorithm = new RS256Algorithm(new X509Certificate2(plainTextBytes));
   IJwtDecoder decoder = new JwtDecoder(serializer, validator, urlEncoder,algorithm); …
Run Code Online (Sandbox Code Playgroud)

.net c# azure jwt

5
推荐指数
1
解决办法
235
查看次数

标签 统计

.net ×1

azure ×1

c# ×1

jwt ×1