IdentityServer4与Auth0

mar*_*ial 17 auth0 identityserver4

我们希望建立一个中央权限来为我们的各种应用程序(.net)进行身份验证和授权.我们看到IdentityServer4是开源的,免费的,而Auth0需要花钱.有没有人同时使用这两种?任何人都可以提供建议选择哪个以及为什么?

Man*_*ham 13

IdentityServer是一个实现各种身份验证(非授权!)协议的库,让您将访问控制整合到单个系统中。只要HTTP端点可用,就可以将其托管在典型的ASP.NET Web应用程序,控制台应用程序或其他任何应用程序中。它还使您可以将用户数据存储在所需的任何位置,无论是在内存中,数据库,平面文件,asp.net核心成员资格系统还是其他任何位置。

Auth0是提供托管服务的公司,该服务可以为您处理身份验证。他们运行基础架构,并通过其网站和API提供访问权限。这类似于让某人为您运行IdentityServer4,并且有多个竞争对手,例如Okta for DevsAWS CognitoAzure AD B2CGoogle Cloud Identity / Firebase等。

如果满足以下条件,则选择IdentityServer:

  • 您需要免费的开源软件。
  • 您有时间和精力自己运行它。
  • 由于法规,隐私等原因,您想自己管理所有数据。
  • 您需要对身份验证过程中发生的事情拥有完全的控制和灵活性(例如,当有人登录时将用户帐户合并到数据库中)。都是C#代码,因此您可以做任何您想做的事情。

如果满足以下条件,则选择Auth0:

  • 您想节省实施和操作的时间和精力。
  • 价格不是问题(因为某些功能可能会变得昂贵)。
  • Auth0提供的自定义足以满足您的用例。
  • 您需要它们提供的其他功能,例如密码破坏监视。
  • 您不想管理用户数据,或者不介意由用户存储数据。

  • @CarlFauteux 这就是为什么它说“你不介意自己运行它”,但我会让它更明确。需要多少工作以及使用 Auth0 获得的定价取决于您的情况,因此我无法提供更多比较。 (3认同)

Mar*_*man 2

Identity Server 意味着构建一个服务器应用程序来处理身份验证和授权,它可以复制 Auth0 对 OpenIdConnect (OIDC) 所做的事情,即使您使用 IdentityServer4,也会有一些事情需要实现。您需要首先构建它,然后集成您的应用程序。

Auth0 允许您立即与具有附加企业功能的 OIDC 集成。