即使安装和使用了System.IdentityModel.Tokens,也找不到JWTSecurityTokenHandler和SecurityTokenDescriptor

lab*_*nth 7 .net c# nuget jwt

我正在尝试编写一个方法来生成.net C#中的JWT令牌.通过互联网搜索,我发现页面展示了如何做到这一点.我关注的一个这样的页面是https://gist.github.com/pmhsfelix/4151369.为了支持这一点,我Install-Package System.IdentityModel.Tokens.Jwt在包管理器控制台中运行了" "并且可以看到" <package id="System.IdentityModel.Tokens.Jwt" version="4.0.2.205111437" targetFramework="net45" />"在我的paackages.config中.但是仍然没有找到SecurityTokenDescriptor.我有一种强烈的感觉,它是某些版本不匹配但我无法找到它是什么.有人可以帮我解决这个问题吗?

Pri*_*lin 9

确保在您的代码中使用:

using System.IdentityModel.Tokens;
using Microsoft.IdentityModel;
Run Code Online (Sandbox Code Playgroud)

另外,我相信你需要添加一个引用:

System.IdentityModel

..在Visual Studio的"程序集"选项卡中找到.

希望这对你有所帮助.

  • `using System.IdentityModel.Tokens;`+添加对`System.IdentityModel`的引用应该这样做 (2认同)

小智 5

从 4.xx 升级到 5.xx 后

更改这一行:

using System.IdentityModel.Tokens;
Run Code Online (Sandbox Code Playgroud)

到:

using System.IdentityModel.Tokens.Jwt;
Run Code Online (Sandbox Code Playgroud)