Csharp/C#教程:如何从令牌中提取并获得声明?分享


如何从令牌中提取并获得声明?

我一直在寻找一个确切的答案,但似乎大多数答案是客户电话和超出范围。

问题:我已经拥有访问令牌访问令牌。 如何仅使用访问令牌使用c#代码获取声明?

我想:以下是相同的问题,但我认为没有答案。

如何从经过身份validation的SecurityToken中获取声明

如何从我的Oauth令牌中读取声明?

安装包Newtonsoft.Json

访问令牌只是base64编码的JSON。 您可以按如下方式解析令牌

string token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ"; var parts = token.Split('.'); var decoded = Convert.FromBase64String(parts[1]); var part = Encoding.UTF8.GetString(decoded); var jwt = JObject.Parse(part); var name = jwt["name"].Value(); 

UPDATE

  1. 建议不要在客户端上解析访问令牌,只应在资源服务器上解析访问令牌。
  2. 您必须validation资源服务器上的访问令牌,以确保令牌在途中未被篡改。
  3. 大多数情况下,您不需要像上面那样解析令牌,只需使用推荐的JWT库来同时进行validation和解析。 例如

    app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());

    上述就是C#学习教程:如何从令牌中提取并获得声明?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/984834.html

(0)
上一篇 2021年12月20日
下一篇 2021年12月20日

精彩推荐