IdentityServer4与Auth0

时间:2017-11-01 15:48:26

标签: identityserver4 auth0

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

4 个答案:

答案 0 :(得分:8)

IdentityServer是一个库,可实现各种身份验证(非授权!)协议,让您将访问控制整合到单个系统中。只要HTTP端点可用,就可以将其托管在典型的ASP.NET Web应用程序,控制台应用程序或其他任何应用程序中。它也可以让您存储用户和访问数据,任何你想要的,无论是在存储,数据库,平面文件,或其他地方。

Auth0不是库,而是托管和托管服务。他们运行基础架构,并通过网站和API提供访问权限。类似于为您运行一些IdentityServer4,并且有一些竞争对手,例如Okta,AWS Cognito,Azure AD B2C,Google Cloud Customer Identity等。

在以下情况下选择IdentityServer

  • 您想免费的开源软件
  • 由于法规,隐私等原因,您想自己管理所有数据。
  • 您需要在身份验证过程中无限灵活,例如用于查找或合并用户帐户的自定义工作流程。
  • 您有时间和精力自己运行它。

在以下情况下选择Auth0:

  • 您想节省实施和操作的时间和精力。
  • 价格是不是一个问题。
  • Auth0提供的自定义足以满足您的用例。
  • 您想要他们提供的其他功能,例如密码破坏监视。
  • 您不想来管理用户数据,或者不介意它存储它们。

答案 1 :(得分:2)

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

Auth0允许您立即与OIDC集成以及额外的&企业特色。

答案 2 :(得分:2)

它们都实现了联邦协议,即WS-Fed,SAML和OpenID Connect。

为了使用它们的应用程序。需要适当的客户端堆栈。

如果他们没有这个,你就不能使用这些产品。

唯一的选择是传递,即Auth0

或者查看通过ADFS WAP传递的ADFS。

如果你有堆栈,两者都可以完成这项工作。

idsrv4没有用户管理门户网站,例如创建用户,向用户添加组OOTB。

Auth0确实。

idsrv4实际上是通过代码添加功能。 Auth0有配置。通过向导。

idsrv4是开源的,因此您可以根据自己的内容进行自定义。我觉得桥接系统真的很有用。

Azure AD是另一种选择。

答案 3 :(得分:0)

IdentityServer 是一个用于 ASP.NET Core 的开源 OpenID Connect 和 OAuth 2.0 框架,在开发社区中尤其受欢迎。 IdentityServer4 成为基于 .NET 的令牌服务的事实上的标准,在实践中是 IdentityServer4 在 .NET Core 3 中的实现。到 2022 年 11 月,开发者可以自由使用并保持核心项目的维护。

它具有有用的功能,例如:

  • 身份验证即服务。

  • 单点登录/退出多种应用程序类型。

  • API 的访问控制。

  • 联合网关。

  • 定制。

至于Auth0,一个身份验证和授权平台,它涵盖了不同的身份用例,基本上与你分开处理身份验证。

现在(更准确地说,从 2022 年开始)这两种服务都是付费的,选择完全取决于所提供的功能和您的需求。如果您想比较 IS4 替代方案,请查看此 chart