无需重定向到 Keycloak 的客户端身份验证
Posted
技术标签:
【中文标题】无需重定向到 Keycloak 的客户端身份验证【英文标题】:Client side authentication without redirection to Keycloak 【发布时间】:2019-11-06 12:24:39 【问题描述】:很简单的问题,花很多时间搜索。
带有 Spring Security 的 Spring Boot 1.4.x 应用程序尝试使用 Keycloak 进行用户管理/身份验证/授权,一切都很棒!
如何避免重定向到 Keycloak 登录表单?
如何根据用户名-密码输入实现自己的身份验证工作流?
我知道我可以请求访问令牌和刷新令牌,但是我应该自己实现所有这些令牌魔术还是人们使用一些著名的库?
任何 github 或示例都会有所帮助。谢谢!
【问题讨论】:
查看Oauth2.0 有可能吗?这事有进一步更新吗?我们可以在没有重定向的情况下实现 keycloak 并使用内部登录表单,点击 keycloak auth api 吗? 是的,简单的回答:使用 Keycloak 作为任何 OAUTH 服务器,传递用户名+密码,获取 requestToken,控制自己的时间,如果你有 refreshToken,请刷新它。我在那篇文章***.com/a/58840405 中发布了一些Java 代码。如果您需要更多详细信息,请给我发私信 【参考方案1】:您可以查看资源所有者密码凭据授权。归结为为您的 Keycloak 客户端设置“启用直接访问权限”并自己实现登录逻辑。
但是,请务必先阅读此内容:https://www.scottbrady91.com/OAuth/Why-the-Resource-Owner-Password-Credentials-Grant-Type-is-not-Authentication-nor-Suitable-for-Modern-Applications
您还可以使用一些 openid connect - 库并从您的领域的.well-known
端点获取端点所需的数据。
【讨论】:
非常感谢您的回答,这篇文章对于安全新手来说是一个很好的起点!以上是关于无需重定向到 Keycloak 的客户端身份验证的主要内容,如果未能解决你的问题,请参考以下文章
如何在使用 keycloak 进行身份验证时处理 uri 重定向
Keycloak:使用 nginx 后面的 javascript 适配器的重定向循环
Spring Boot 应用程序未重定向到托管在不同服务器上的 Keycloak
Next.js:在重定向到 Keycloak 登录页面之前阻止显示索引页面