使用 Web API 2,ASP.NET 4.7,使用其令牌服务或 IdentityServer,尤其是在考虑刷新令牌时?

With Web API 2, ASP.NET 4.7, to use its token service or IdentityServer, especially when considering refresh tokens?

我 "learning" 关于 ASP.NET Web API 的开发,其安全性由 OAUTH2 和 OpenId 提供。所以我开始使用 Web API 模板。 Web API 模板有自己的 "Individual Account" 用户管理机制,可以通过 /Token 发行令牌。然而,通过这种机制获得刷新令牌有点棘手。

这让我开始思考,我是否真的希望通过使用 IdentityServer 来提供此功能。如果是这样,据我所知,因为我使用的是 ASP.NET 4.7/MVC5,而不是 ASP.Core,那么我应该使用 IdentityServer3 而不是版本 4。

还有当访问令牌和刷新令牌过期时所需的所有登录功能。

不太可能有人能够明确地告诉您是否使用 Identity Server。当您最了解问题领域时,您将需要自己做出决定。

如果您决定将身份验证卸载到中央权威提供程序(如 Identity Server),那么我可以告诉您,没有硬依赖会迫使您使用 Identity Server 3 或 4,因为它们最终都符合oauth2/oidc 协议。如果您有能力托管 .Net Core 应用程序,那么我可以建议您使用 Identity Server 4,因为该实现的可扩展性明显更高,并提供了极大的灵活性。