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

What is the different between System.IdentityModel.Tokens & Microsoft.IdentityModel.Tokens? Which one should I use in an ASP.NET Core application?

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

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

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

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

我是否需要将 System.IdentityModel.Tokens.Jwt 添加到我的项目并更改任何代码?

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

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

根据 中的建议,您应该使用 System.IdentityModel.Tokens.Jwt nuget,因为 Microsoft.IdentityModel.Tokens 是较旧的库。