使用 KeyCloak 的 OAuth2 授权接口
Posted
技术标签:
【中文标题】使用 KeyCloak 的 OAuth2 授权接口【英文标题】:OAuth2 authorization interface using KeyCloak 【发布时间】:2018-04-21 14:16:03 【问题描述】:我正在尝试使用 KeyCloak
作为身份提供者服务来支持第 3 方应用程序。想法是在KeyCloak
中注册客户端应用程序,受信任的客户端不需要此授权批准,但应该有“不受信任”的客户端流程,例如显示OAuth 2.0 specification指定的用户授权界面。
从我see in the docs 来看,他们有很好的细粒度授权机制,可用于后端。但是我看不到任何方法可以为/authorize
端点提供授权屏幕,如上所示。
也许这可以是custom created SPI 或其他可用于实现这一点的东西以进一步发展。关于如何在KeyCloak
中实现这一点的任何想法?是否有任何可以重用的内置功能或自定义方式实现?
【问题讨论】:
【参考方案1】:在 Keycloak 中,您可以为每个客户端打开 Consent Required
开关(请参阅管理控制台中的客户端设置)。
成功验证后,这将弹出一个类似于您的示例的确认页面。
【讨论】:
太棒了,这正是我想要的,谢谢! @Boomer 如果我关闭同意如何创建自定义同意页面并调用 keycloak 同意 REST api (GET/POST)? @PanupongKongarn 对不起,我不明白你的问题。同意页面是 OAuth2 授权流程中的可选步骤。在 Keycloak 中,您可以通过提供带有修改文件“login-oauth-grant.ftl”的自定义主题来自定义此页面。但我认为让 REST API 调用同意页面没有任何意义。也许您应该打开一个新问题,在其中可以更详细地解释您想要实现的目标。 @Bomer 好的,谢谢,我找不到关于同意的 REST API,我也会从 keycloak 中获取同意表,并在没有 keycloak 的情况下完成以上是关于使用 KeyCloak 的 OAuth2 授权接口的主要内容,如果未能解决你的问题,请参考以下文章
Spring OAuth2 使用 Keycloak 自动登录
如何使用 Angular -> Spring Boot Oauth2 -> Keycloak 获取 keycloak 令牌
通过 Spring Boot Keycloak 集成的 OAuth2 客户端凭据流