System.IdentityModel.Tokens 和 Microsoft.IdentityModel.Tokens 有啥区别?我应该在 ASP.NET Core 应用程序中使用哪一个?

Posted

技术标签:

【中文标题】System.IdentityModel.Tokens 和 Microsoft.IdentityModel.Tokens 有啥区别?我应该在 ASP.NET Core 应用程序中使用哪一个?【英文标题】:What is the different between System.IdentityModel.Tokens & Microsoft.IdentityModel.Tokens? Which one should I use in an ASP.NET Core application?System.IdentityModel.Tokens 和 Microsoft.IdentityModel.Tokens 有什么区别?我应该在 ASP.NET Core 应用程序中使用哪一个? 【发布时间】:2019-05-31 16:29:58 【问题描述】:

我们可以在 NuGet 库中找到两个单独的包:

System.IdentityModel.Tokens.Jwt Microsoft.IdentityModel.Tokens

两者似乎都定期更新,并拥有数百万的下载量。

我知道System.IdentityModel.Tokens.Jwt 依赖于Microsoft.IdentityModel.Tokens,但我不知道应该在我的 ASP.NET Core 2.0 应用程序中使用哪个。

我现在正在使用Microsoft.IdentityModel.Tokens,它足以创建 JWT 令牌并验证它们。

我需要在我的项目中添加System.IdentityModel.Tokens.Jwt 并更改任何代码吗?

PS:我没有在这个项目中使用 Azure 服务。

【问题讨论】:

【参考方案1】:

正如您指出的 System.IdentityModel.Tokens.Jwt 依赖于 Microsoft.IdentityModel.Tokens

按照Link 的建议,您应该使用 System.IdentityModel.Tokens.Jwt nuget,因为 Microsoft.IdentityModel.Tokens 是较旧的库。

【讨论】:

以上是关于System.IdentityModel.Tokens 和 Microsoft.IdentityModel.Tokens 有啥区别?我应该在 ASP.NET Core 应用程序中使用哪一个?的主要内容,如果未能解决你的问题,请参考以下文章