问题标签 [keycloak-services]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
10435 浏览

jboss - Keycloak 创建自定义身份提供者映射器

我有一个开放的 id 提供者,我使用这个提供者作为 keycloak 的身份代理。我想将从代理发送到 keycloak 的角色(声明)映射(并且 keycloak 将在其 jwt 中发送映射的角色)。我想知道如何实现自定义映射器并将其添加到 keycloak(如硬编码映射器、keycloak 中的属性映射器)。我可以这样做吗?谢谢

0 投票
1 回答
1462 浏览

authentication - 首次使用 keycloak 作为身份代理登录时,从 IDP 向用户数据自动添加特定于客户端的角色

因此,我使用 Keycloak 3.2.1 并将 google 添加为社交登录提供程序。到目前为止,身份验证工作正常。现在我尝试尝试(基于角色的)授权。

所以我登录(使用 js-adapter)并查看了令牌,但没有名称或角色等映射。jwt.io 只是给我看这个:

并且keycloak.resourceAccessjs 适配器的 Object 是空的。现在,我在管理控制台中看到了该用户,并且可以手动向他添加客户端角色。然后它们按预期显示在 .resourceAccess 中作为关键产品应用程序的数组。不过,我想在第一次登录时自动执行此操作。

比如:“用户使用 social-login-provider 登录产品应用程序。登录时,我会自动将角色附加到他和他的令牌,并在 js-adapter 的 resourceAccess 中返回它们”。

因此,对于作为身份提供者的谷歌,我激活了“第一个代理登录”-在管理 ui 中流动,但我看不到任何选项可以说“将客户端角色 x,y,... 添加到从身份提供者映射的每个用户首次登录”。有可能以某种方式做到这一点吗?遗憾的是,在文档或 tuts 和 vids 中还没有找到任何东西。

0 投票
1 回答
7030 浏览

java - Keycloak 强制刷新令牌

我将 Keycloak 与 AngularJs 客户端和 REST java 后端(使用 Play Framework 2.6)一起使用。

我正在使用openid-connect. 客户端配置为访问类型 public,而 REST 服务器配置为bearer-only。我正在使用Keycloak JS adapter客户端和Keycloak Java adapterREST 服务器。

身份验证工作正常。使用java admin-cli来自 REST 服务器的 ,我向attribute用户添加一个并使用自定义mapper,它attribute直接添加到Access token.

问题是当我添加或更新这个属性时,我在Access token. 我只能在注销后才能看到它 - 登录重新加载客户端。

如何从 REST 服务器强制刷新访问令牌?还有其他策略可以查看 Access Token 中的更新属性吗?

0 投票
1 回答
2438 浏览

keycloak - 使用 Keycloak API 以编程方式将角色分配给组

目前我尝试使用 Keycloak API 和 Java 客户端。目前,我很难以编程方式将角色分配给组。不幸的是,此时文档还不是很详细。

这是我的示例代码:

如果不存在则创建组,如果不存在则创建角色但分配

需要在字符串列表中作为参数给出什么?角色名称?角色的技术 ID?(两者都不适合我)。

任何帮助表示赞赏!

更新 感谢 ravthiru,我能够解决我的问题。工作代码是这样的:

0 投票
2 回答
1141 浏览

angular - 你如何在 URL 中隐藏 keycloak.json

我目前正在设置一个带有 keycloak 集成的 angular4 项目。因此,当我遵循 keycloak github 存储库 (angular2-product-example) 中的示例时,我创建了一个 keycloak.json 客户端配置文件并将其上传到我的 Web 项目中,该项目可通过 Web url 访问。我需要它,以便我可以初始化 js 适配器:

但是我担心安全性,可以从 url 访问带有 keycloak 客户端密码的配置。在这种情况下,它通常是如何保护的?

0 投票
1 回答
9812 浏览

spring-boot - 使用 Keycloak 和 SpringBoot 的多租户

我正在使用 spring boot 适配器和 keycloak spring boot 适配器来执行多租户,我可以使用 ip 和域名访问页面。但是当我运行 gradlew 脚本时,似乎没有检测到这个 bean,没有发生任何变化。即使我包含了一个记录器,日志也不会打印,所以我认为这个文件根本没有被读取。我错过了什么吗?或者是否有任何可用于多租户的实现。谢谢。

KeycloakTomcatContextCustomizer

我的应用程序.yml \

0 投票
1 回答
1588 浏览

jboss - 如何使用 Keycloack 验证 Jquery ajax 请求,

我有一个使用 keycloack 保护的 Spring Boot 应用程序 (mvc)。(与 spring-boot-starter-security 和 keycloak-spring-boot-starter 一起使用)

我像这样配置了 KeycloakWebSecurityConfigurerAdapter;

请求控制器方法,响应 html 视图工作正常(keyclock 验证请求)

但是,对控制器方法的表单操作对休息控制器方法的 Ajax 请求不起作用(发布、放置、删除..请求)

我将 @CrossOrigin(origins = "*") 添加到我的控制器中。

这是我的ajax请求,

这是密钥锁客户端

在此处输入图像描述

这是kecloack json(我试过application.properties文件)

我该如何解决这个问题。如何使用 keycloack 验证 ajax 请求帮助。

0 投票
1 回答
1545 浏览

angular - 将 keycloak 与 angular 4 集成

我正在尝试使用 angular 4 的 keycloak 进行用户管理。我浏览了文档,但对从哪里开始一无所知。我是角度和钥匙斗篷的新手。那么,任何人都可以为我提供良好的文档或通过提供示例来帮助我吗?

我已经跑了npm install keycloak-js@latest --save,不知道从哪里开始。

0 投票
0 回答
494 浏览

javascript - 避免 Keycloak JavaScript 适配器重定向导致的双重历史记录

我正在构建一个使用Keycloak JavaScript 适配器进行身份验证的应用程序。作为此过程的一部分,Keycloak JavaScript 库将用户从我的应用程序重定向到其身份验证页面,然后在用户通过身份验证后将用户重定向回我的应用程序。

不幸的是,这导致我的应用程序有两个浏览器历史记录。这意味着如果有人点击我的应用程序的链接并尝试使用浏览器的后退按钮,他们将无法离开该页面 - 他们将被“返回”到他们已经在的页面。

有没有办法配置 Keycloak JS 适配器,以便在将用户从其身份验证页面重定向回我的应用程序时删除它创建的历史记录?

0 投票
1 回答
1457 浏览

oauth-2.0 - 使用 KeyCloak 的 OAuth2 授权接口

我正在尝试KeyCloak用作第三方应用程序支持的身份提供者服务。想法是在 中注册客户端应用程序KeyCloak,受信任的客户端将不需要此授权批准,但应该有“不受信任的”客户端流程,例如显示OAuth 2.0 规范中指定的用户授权界面。

OAuth2授权接口

从我在文档中看到的内容来看,它们具有非常好的细粒度授权机制,可用于后端。但是,我看不到任何为/authorize端点提供授权屏幕的方法,如上所示。

也许这可以是自定义创建的 SPI或其他可用于实现此以进一步发展的东西。关于如何实现这一点的任何想法KeyCloak?是否有任何可以重用或自定义方式实现的内置功能?