是否可以对用户隐藏 Keycloak 的界面?

Is it possible to hide Keycloak's interface from users?

我想对我的客户隐藏 Keycloak 的界面。

是否可以通过 API(特别是授权码授予类型)登录 Keycloak,这样我就可以构建一个 React 组件供我的客户登录?

是否可以构建我自己的帐户应用程序,它将通过 API 与 Keycloak 交互?

只有我的员工可以使用 Keycloak 的界面来管理安全。

您可以将您的应用程序重定向到 Keycloak 登录页面,并使用 Keycloak 更改该登录页面以获得您想要的外观和感觉 Custom Themes. To communicate from your Account app to Keycloak Api you can use the Keycloak Admin API

是的,几乎每个 SPA(Angular、React、Vue 等)开发人员都梦想着更换 IdP(在您的情况下是 Keycloak)登录屏幕(因为默认的 IdP 登录是 ugly/it不匹配应用程序风格/...他可以在 SPA 级别构建很酷的登录屏幕:-))。

当然,这是可能的。切换到 Direct Access Grants (Resource Owner Password Credentials Grant) 就可以使用了。但是你会牺牲安全性。假设您有 Google IDP 身份代理,因此用户也可以使用自己的 Google 帐户。您是否会将 Google 凭据放入某个自定义登录表单,该表单声称这些凭据将仅用于登录并且不会被盗。我会说不,因为应用程序会看到您的凭据。这就是 IdP(OIDC 或 SAML 协议)的目的。它为任何应用程序(尤其是第 3 方应用程序)提供用户身份,而不会暴露用户凭据 - 这是 Authorization Code 授权类型的完美案例。

所以我想说可以使用自己的 SPA 登录表单,但这是错误的想法。在你的情况下,我会使用本地应用程序身份验证。

第二个问题:您可以基于 Account REST 创建自己的 Account API。它很新,所以没有好的文档,它只能作为预览功能使用。新帐户控制台应使用它 - https://www.keycloak.org/2020/09/new-account-console.adoc.html,因此您可以观看网络浏览器控制台以查看 API 请求。