我刚刚开始一个新项目。结果将是一个 API 服务器和一个渐进式 Web 应用程序。API 服务器使用 TypeScript 和 NestJS 框架实现,客户端使用 Angular 6。
我一直在和 keycloak 调情。不过,我还不太确定它是否适合我。但是我不想再担心令牌更新之类的事情,并且发现 Keycloak 告诉我如何创建用户角色很有趣。
困扰我的是以下 - 集成。对于我的用例,登录和密码重置等所有功能都是我的应用程序的一部分。这意味着我想自己创建表单,以便能够在我自己的设计中完美地做到这一点,并且没有第二个翻译过程等。Keycloak 主题不是一个选项。那么是否有可能以这种方式隐藏 keycloak,或者它是如此复杂以至于我不应该首先使用 Keyloak?Afaik 密码重置已经存在问题 - 我无法从用户端请求它,但必须对管理端点进行 REST 调用 - 这可以但并不理想,因为它需要我做更多的服务器端逻辑(和这不是我想使用 Keycloak 的原因)。
此外,Keycloak 过于关注 GUI - 这对我来说很困难,尤其是在开发过程中。因为我还想在开发过程中为我的团队提供一个本地的keycloak实例。但是将初始数据导入领域、应用程序以及将用户导入 Keycloak 的概念是什么?我发现了一些 JSON 导入 - 但到目前为止仅适用于领域和应用程序。还有一个功能可以导入整个哑巴吗?
这样我的团队就建立在预先构建的设置上,并且每个角色都有一个用户。包含初始数据导入的 Vagrant 或 Docker 的可重复设置 - 这将是目标。
简而言之,我的问题是:
BSe*_*zin 21
所以,几个月前提出的问题,但我也面临这个问题,我想回答一下。
我认为您不需要Keycloak,使用OAuth2和JWT就足够了。
让我们来证明我的回答:
您只有一个客户端 - Angular 应用程序。Keycloak 很有用,当你有很多客户端(web-js、移动平台)并且你想动态地创建和管理它们时。但是,我认为,在您的情况下,您可以在将来不修改的情况下创建一次客户端。
此外,当您与第三方系统(Google、Fb、Twitter 等)进行大量集成时,Keycloak 非常有用,因为 Keycloak 具有开箱即用的功能。或者您需要与某些 SAML 或 LDAP 提供程序集成。
如果您需要一些身份和用户管理平台,并且当您有复杂的用户访问流程时,您可以使用 Keycloak。
最后,如果您需要 SSO(单点登录)功能,您可以考虑使用 Keycloak。登录 Keycloak 后,用户无需再次登录即可访问其他应用程序。但是,根据您的描述,您只有一个应用程序。
小智 6
Keycloak 提供单点登录 (SSO)、身份代理和社交登录、用户联合、客户端适配器、管理控制台和帐户管理控制台等功能。它是用于快速应用程序安全层开发的开箱即用解决方案。您可以为多个应用程序使用单个公共安全层。您可以在不使用 keycloak 的情况下实现安全机制。
| 归档时间: |
|
| 查看次数: |
10885 次 |
| 最近记录: |