问题标签 [keycloak-rest-api]

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 投票
1 回答
2336 浏览

authentication - 如何使用 Keycloak 保护前端和 REST API

我对 Keycloak 服务器非常陌生,想用它来保护我的前端应用程序和后端的 rest API,它们也通过互联网开放。到目前为止,我所理解和所做的是在 Keycloack 上创建 2 个客户端,1 个用于使用客户端协议(openid-connect)和访问类型(公共)的前端,然后在客户端我使用采用者将用户重定向到 Keycloak 登录页面并进行身份验证并获取令牌。现在对于后端(rest-apis),我创建了一个单独的客户端,它再次使用客户端协议(openid-connect)但具有访问类型(机密)和身份验证流:浏览器流和直接授权流都是直接授权和之后我得到客户端ID和客户端秘密来调用Keycloak rest api。

现在我希望当用户从前端进行身份验证并获取令牌并将标头请求发送到我的 rest API 时,我在这里调用一些 Keycloak rest api 通过提供 client_id 和 client_secret 来验证这个令牌。

我正在使用来自 Keycloak 的以下 api 来验证我在前端生成的令牌:

但结果是这样的:

如果我使用了一些错误的 api 或者整个架构来验证和保护我的后端 api 不正确。有人可以帮助我了解问题出在哪里吗?

0 投票
2 回答
1072 浏览

keycloak - KeyCloak - 入口不允许通过 https 服务连接

我已经使用 helm 安装了 keycloak。创建 Traefik 入口以允许公共访问

从 localhost:8080 创建管理员密码后,我只能在端口转发和本地访问时登录管理控制台。

当我使用公共 url 并单击管理控制台时,它会重定向到 https://website/auth/admin/master/console/ 并显示一个空白页面。

我发现了问题,但是当我更改 servicePort: https inside ingress 时,我得到一个内部服务器错误状态代码 500。

当我使用 http 端口时,出现以下错误:混合内容:“https://url/auth/admin/master/console/”处的页面是通过 HTTPS 加载的,但请求了不安全的脚本“http://url/” auth/js/keycloak.js?version=mxda6'。此请求已被阻止;内容必须通过 HTTPS 提供。

混合内容:“https://url.ca/auth/admin/master/console/”页面通过 HTTPS 加载,但请求了不安全的脚本“http://url/auth/js/keycloak.js?version” =mxda6'。此请求已被阻止;内容必须通过 HTTPS 提供。

我查看了 traefik 日志:

level=debug msg="'500 Internal Server Error' 导致:x509:无法验证 xxxx 的证书,因为它不包含任何 IP SAN"

0 投票
1 回答
704 浏览

keycloak - 注册后如何在keycloak用户模型中存储外部数据

我想在注册后将信息(如外部 ID)存储在自定义用户属性中。最终目标是在 JWT 令牌中包含这些信息。

我很难找到正确的方法来做到这一点。我认为这可能不是一个好的设计。

有关我的用例的更多详细信息:当用户在 keycloak 上注册时,我必须在外部应用程序上创建用户,并且我想将此外部 ID 保存在 keycloaK 上。

我在想事件监听器 SPI 并在注册后做一些事情,但感觉有点矫枉过正

0 投票
1 回答
217 浏览

keycloak - 为什么 Keycloak 需要超过 1 个领域?

我是 Keycloak 的新手,并且一直在阅读文档。有一个术语领域,我将其理解为唯一的用户/客户端管理实例。领域无法通信。我很好奇为什么除了大师之外有人会拥有超过1个境界。用例是什么?除了大师之外,还有其他领域的原因是什么?

0 投票
1 回答
396 浏览

keycloak - 为什么我无法到达这个 keycloak rest api 端点?

我正在尝试根据用户的角色检索用户列表。我有这个角色:ROLE_ADMIN。我想检索每个具有此角色的用户。

我用这个端点试试:

http://10.10.10.10:5555/auth/demo-realm/clients/e286a05c-6641-49c3-bb7c-ffe5dd2d8c66/roles/ROLE_ADMIN/users

但它给我发回了这个:

{“错误”:“RESTEASY003210:找不到完整路径的资源: http://10.10.10.10:5555/auth/demo-realm/clients/e286a05c-6641-49c3-bb7c-ffe5dd2d8c66/roles/ROLE_ADMIN/users }

我在这里找到了端点:https://www.keycloak.org/docs-api/11.0/rest-api/index.html"Return List of Users that have the specified role name"

例如,我可以达到这些端点:

http://10.10.10.10:5555/auth/realms/demo-realm/protocol/openid-connect/token

http://10.10.10.10:5555/auth/admin/realms/demo-realm/users

我错过了什么?是什么让这不起作用?

提前致谢。

0 投票
1 回答
1354 浏览

oauth-2.0 - 来自 keycloak 的社交登录 api

在此处输入图像描述

我想从 react js 客户端和后端节点 js 使用 keycloak 社交登录。我找不到从 keycloak 生成红色标记链接的任何方法。

http://localhost:8080/auth/realms/softspace/broker/github/login?client_id=account&tab_id=qXW9kuQnfu0&session_code=WGGXv87kK9R9m0KOoq5RPAwmqR131DaZwyzOvT_SWd8

我不知道他们如何生成tab_idsession_code

我有一个需要社交登录的客户端反应应用程序在此处输入图像描述

当我点击这样的github按钮时,我想找到直接去的方式在此处输入图像描述

0 投票
1 回答
1097 浏览

php - Keycloak 密码策略

所以,我在我的 Symfony 项目中集成了 keycloak API 端点。

关于https://ultimatesecurity.pro/post/password-policy/我们添加了“非用户名”策略来测试在应用程序中创建新用户。

想法是使用定义的端点来定义特定方法,这将执行此操作。

我正在检查文档,但找不到任何可以检查密码策略规则的端点 -->文档

想法:

这就是我得到的:

图片

转储结果时

0 投票
1 回答
847 浏览

php - Keycloak-传递参数以满足密码策略要求

我在 Symfony 项目中定义了 get Keycloak 方法。

在提取密码策略列表的数组问题上,我得到了例外结果。目前它只设置了“非用户名”规则:

在此处输入图像描述

我在文档中的 keycloak 中找不到任何其他端点,我可以在其中将密码字符串作为参数传递,并查看它是否满足password policies.

我将提供GET返回我刚才描述的内容的函数。我认为如果可以修改它以提供密码字符串,它将完成工作。

在我的控制器中,端点:

总结一下:

keycloak 中是否有任何端点可以传递我的密码变量并检查它是否符合password policies可能使用PUT方法中定义的要求。

0 投票
1 回答
420 浏览

java - 带有嵌入式 keycloak 和 spring boot 应用程序的默认配置

我正在使用嵌入式 keycloak 和 spring boot 应用程序
我创建了一个领域,然后我创建了一个客户端:: :
Access Type然后 我创建了具有权限和策略的资源 我的问题是: 我想在配置文件中导出这个配置(java config 或json config),这样当我重新启动我的 keycloak 服务器时,我不必在开始时配置 keycloakconfidential
Authorization Enabledenabled



我怎样才能做到这一点?

0 投票
1 回答
1282 浏览

keycloak - 如何通过employeeNumber或自定义属性搜索keycloak用户?

我想使用employeeNumber 搜索keycloak 用户。我尝试检查 keycloak 文档,但没有找到任何基于employeeNumber/自定义属性进行搜索的 API。我正在使用下面的 API 来搜索具有管理员访问权限的用户。

http://localhost:8080/auth/admin/realms/Demo-Realm/users/?firstName=akshay

也试过

http://localhost:8080/auth/admin/realms/Demo-Realm/users/?search=akshay