如何绕过Keycloak登录页面?

3
我正在开发一个带有Java背景的ReactJS应用程序。除了Keycloak之外,是否可以使用其他登录方式?
我知道可以自定义默认的Keycloak主题并添加自定义字段,但我真的想使用我的ReactJS登录表单,而不是重定向到Keycloak的登录页面。
这可行吗? 这个做法推荐吗?
已经有一个类似的 stackoverflow问题,但没有正确的答案解决问题。
感谢大家回答我的问题。
1个回答

3
这是可能的吗?
是的,用户将会在表单中输入用户名和密码。然后,在幕后,您将调用一个已经配置了“资源所有者密码凭据授权”流(即Keycloak中启用了直接访问授权)的Keycloak客户端。该调用将代表用户请求令牌。
现在,这种方法的问题在于,“资源所有者密码凭据授权”通常应该避免使用(source):
“当资源所有者与客户端存在信任关系时,例如设备操作系统或高度特权的应用程序,资源所有者密码凭据授权类型是合适的。但是,授权服务器在启用此授权类型时应特别小心,并仅在其他流程不可行时才允许使用。”

您可以在this等来源中阅读更多关于为什么不建议使用该流程的信息。

因此,您可能会在某种程度上牺牲一些安全性。此外,您可能希望提供其他与其主题模板无缝集成的Keycloak功能(例如OTP和社交媒体登录)。然后,您可能需要根据新的Keycloak发布版本来调整应用程序等等。除非您真的有非常好的理由,否则我不建议这样做。您可以选择简单地自定义默认主题。它只是一个表单而已,之后用户就可以立即重定向到您的应用程序。


1
dreamcrash 绝对是正确的,但我也想补充一下:使用资源所有者密码凭据授权,你还需要解决很多繁琐的任务,比如刷新令牌对、处理单点注销等其他问题。 - solveMe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接