在SecurityToken C#中阅读声明

7

我有一个来自OAuth 2.0的访问令牌,它使用JwtSecurityTokenHandler.WriteToken()进行加密。在使用JwtSecurityTokenHandler.ReadToken()解密后,它会向我返回SecurityToken对象,但我不知道如何循环和读取解密后的令牌内部的声明。

虽然有方法可以读取JwtSecurityToken中的声明,但不幸的是,读取令牌返回的是SecurityToken而不是JwtSecurityToken。

希望有人能够帮助。


2
我不知道代码或类,但我猜JwtSecurityToken实现/扩展了SecurityToken,并且很有可能你从API中实际上返回的是一个JwtSecurityToken。你能将结果强制转换或使用as关键字转换为JwtSecurityToken吗? - Rup
1个回答

17
你应该可以将其转换为JwtSecurityToken
var jwt = jwtSecurityTokenHandler.ReadToken(tokenString) as JwtSecurityToken;

如果我们没有有效的签名,那么就会抛出异常。 - kkost
2
为什么会出现无效的签名? - Alex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接