我们想建立一个中央授权机构,为我们的各种应用(.net)进行身份验证和授权。我们发现IdentityServer4是开源且免费的,而Auth0需要支付费用。有人同时使用这两个吗?能否提供建议选择哪一个以及原因?
我们想建立一个中央授权机构,为我们的各种应用(.net)进行身份验证和授权。我们发现IdentityServer4是开源且免费的,而Auth0需要支付费用。有人同时使用这两个吗?能否提供建议选择哪一个以及原因?
IdentityServer是一个库,实现了各种身份验证协议(不是授权!),并允许您将访问控制集成到单个系统中。只要HTTP端点可用,您可以在典型的ASP.NET Web应用程序、控制台应用程序或其他任何地方托管它。它还允许您将用户数据存储在任何地方,无论是内存、数据库、平面文件、asp.net core会员系统还是其他任何地方。
Auth0是一家提供托管服务的公司,为您处理身份验证。他们运行基础设施并通过其网站和API提供访问。这类似于有人为您运行IdentityServer4,而且还有几个竞争对手,如Okta for Devs、AWS Cognito、Azure AD B2C、Google Cloud Identity/Firebase等等。
如果:
如果符合以下情况,请选择Auth0:
Update as of Oct 2020 - IdentityServer现已成为Duende Software的产品,采用新的商业开源许可证以维持开发。还有其他替代方案,如OpenIddict仍然免费。
身份认证服务器是指构建一个服务器应用程序来处理身份验证和授权,可以复制Auth0对OpenIdConnect(OIDC)的操作。即使您使用IdentityServer4,仍然需要实现一些内容。您需要首先构建它,然后集成您的应用程序。
Auth0允许您立即与OIDC集成,并提供附加的企业功能。
它们都实现了联合协议,即WS-Fed、SAML和OpenID Connect。
为了使用它们,您的应用程序需要适当的客户端堆栈。
如果没有这个,你就不能使用这些产品。
唯一的选择是通过,即Auth0。
或者看看ADFS,它通过ADFS WAP进行穿透。
如果您拥有堆栈,两者都可以胜任工作。
idsrv4没有用户管理门户,例如创建用户、将组添加到OOTB用户中。
Auth0有。
idsrv4本质上通过代码添加功能。Auth0通过向导进行配置。
idsrv4是开源的,所以您可以自定义其内容,让它更符合您的需求。我发现它在连接系统方面非常有用。
Azure AD是另一个选择。