Aug*_*iro 3 authentication authorization keycloak auth0
因此,我想在所有使用auth服务器的产品中进行单点登录,但这不仅适用于员工,还应该像auth0一样使用keycloak?
arc*_*don 14
Auth0 和 Keycloak 都应该能够实现您的目标 - 假设您只想要社交(facebook、google 等)和/或用户名和密码身份验证?
Auth0 是风险较小的选择,keycloak 适合非商业用途,并且您可以在没有全球 24x7 支持团队的情况下承受生产中断。这里有一些我推荐 Auth0 的其他原因 - 文档是世界一流的,它们有快速入门示例,因此您可以在几分钟内启动和运行,并且可以轻松访问更高级的选项 - 无密码、身份验证、MFA、异常检测、x9可靠性、速率限制、广泛的管理 api、所有内容的扩展,例如将日志导出到日志聚合器,等等。不管怎样,祝你的项目好运,显然什么最适合你自己的项目要求。
应该补充一点,如果您从事移动业务,那么 Auth0 会投入大量精力为目标移动(本机/混合)应用程序添加必要的专用安全流。例如,使用/authorize端点时的 PKCE 用法。请记住这一点,因为不确定 keycloak 是如何实现来处理这个问题的——今天很多 IDM 仍然不正确地做这件事。
Mar*_*cel 10
Keycloak也有一些优点:
Keycloak 是还可以提供支持,如果你买的JBoss EAP(见http://www.keycloak.org/support.html)。这可能比Auth0企业版便宜。如果要使用自定义数据库,则仍然需要企业版Auth0。
Keycloak具有Auth0中不可用的功能:可通过Web管理控制台或自定义代码配置的细粒度权限和基于角色的访问控制(RBAC)和基于属性的访问控制(ABAC),或者您可以编写自己的Java和JavaScript策略。也可以通过用户规则(自定义JavaScript)或授权插件(无需代码,可能性更少)在Auth0中实现。在Keycloak中,您无需代码即可执行更多操作(开箱即用的安全策略类型更多,例如基于角色,组,当前时间,请求的来源),并且对定制开发的访问控制模块提供了良好的支持。在这里进行一些比较详细的研究会很有趣。
Keycloak还提供了一个策略执行器组件-您可以从后端连接到该组件,并验证访问令牌是否足以访问给定资源。它最适合Java Web服务器,或者您可以部署带有Keycloak适配器的额外Java Server,该适配器将用作网守,并确定通过哪个请求和阻止哪个请求。所有这些都是根据您可以通过Keycloak Web界面配置的规则进行的。我不确定Auth0中是否包含此类策略执行器。最重要的是,Keycloak可以告诉您的客户端应用程序您要访问给定资源时需要哪些权限,因此您无需在客户端中编写此权限。工作流程可以是:
因此,可以在Keycloak中集中和配置更多内容。通过此工作流程,您的客户端和资源服务器可以将更多安全逻辑和代码外包给Keycloak。在Auth0中,您可能需要自行执行第2、3、6步。
| 归档时间: |
|
| 查看次数: |
5136 次 |
| 最近记录: |