当前位置: 首页 > 知识库问答 >
问题:

如何在C#中验证keydape的JWT令牌。网

晏志明
2023-03-14

一旦我们在前端获得JWT令牌,我们就可以通过使用授权头或通过cookies来验证后端服务器中的无状态重启。这段视频很好地解释了这一点。

如果后端服务器在C#中。网络框架(MVC),如何验证接收到的JWT?官方留档指向OWIN,这是不维护。

当看到各种各样的博客和文档时,理论上说我们需要得到模数

如何才能做到这一点?

共有1个答案

艾仲渊
2023-03-14

通过密钥斗篷获取您所在领域的公共证书:

您将得到需要正确格式化的类似内容:

>

  • 复制您所在领域的PublicCertificate

    将其保存在密钥域中。平民的crt文件

    添加标题----开始证书------

    使单行证书在每行中以64字节为单位

    添加页脚-----END CERTIFICATE-----

    然后,可以使用以下代码片段来验证接收到的JWT令牌。

    X509Certificate2 certificate = new 
    X509Certificate2("KeyCloakRealm.Public.crt");
    
    RSACryptoServiceProvider key =(RSACryptoServiceProvider)certificate.PublicKey.Key;
    RSAParameters rsaParameters = key.ExportParameters(false);
    
    RSA rsa = RSA.Create();
    rsa.ImportParameters(rsaParameters);
    
    var json = JwtBuilder.Create()
             .WithAlgorithm(new RS256Algorithm(rsa)) // asymmetric
             .MustVerifySignature()
             .Decode(token);
    // The above method will throw an appropriate error if the JWT is invalid or cannot be validated against the supplied public keycloak realm
    // If there is no exception, you will get the data in your json object
    

  •  类似资料:
    • 问题内容: 如何验证从Amazon Cognito收到的JWT并从中获取信息? 我已经在Cognito中设置了Google身份验证,并将重定向uri设置为打API Gateway,然后收到了我发布到此端点的代码: https://docs.aws.amazon.com/cognito/latest/developerguide/token- endpoint.html 要接收JWT令牌,采用RS2

    • 我目前正在使用Vapor开发Swift后端。我的iOS客户端使用新的iOS 13功能“使用Apple登录”。当用户登录时,我会得到一个身份令牌(访问令牌),这是一个由Apple签名的有效JWT令牌。这将在所有正在进行的通信中发送到服务器,以验证服务器提供的某些路由。 在服务器上,我想通过验证令牌签名来验证发送的令牌是否确实由Apple签名,并且不是由某些恶意用户专门创建的。Apple提供了一个HT

    • 我已经创建了自定义中间件类来验证JWT令牌。我在

    • 我正在制作一个javascript客户端,它使用JWT令牌连接到Api。在服务器端没有问题,我可以创建令牌对其进行签名,然后验证签名,从而确保没有人篡改令牌。 但我如何在客户端做到这一点。我可以解码JWT令牌并查看头、负载和签名。但是如何在客户端验证签名?是否有用于此的库,如何将公钥传输到客户端? 如果我不验证签名,我怎么知道令牌没有被篡改?