keycloak

Keycloak 9.0.2 : missing script mapper

青春壹個敷衍的年華 提交于 2020-08-26 04:02:14
问题 with keycloak 9.0.2, we have to use a script mapper in a client to add specific claims from header request, but script mapper is missing in mapper type. Here an extract of our docker-compose file : version: '3.4' services: keycloak: image: jboss/keycloak:latest command: - "-b 0.0.0.0" - "-Djboss.socket.binding.port-offset=1000" - "-Dkeycloak.profile.feature.scripts=enabled" env_file: - ./keycloak.env ports: - 9080:9080 - 9443:9443 - 10990:10990 In logs, we see the line at startup : 09:31:55

How to unit test a SpringBoot controller secured by keycloak?

大兔子大兔子 提交于 2020-08-24 16:21:02
问题 I know that there are already similar questions, here and here, regarding this problem but every solution proposed failed to help me. There is also mention to this library in most of those answers but (with all due respect) I would like to avoid depending on an external library just to be able to test a simple controller. So, I have a very simple api that is accessed using a bearer token generated by keycloak and I would like to test the controller. Something along these lines: @Test

How can I get other users info(username, firstname) by id? [Keycloak]

孤人 提交于 2020-08-24 07:15:29
问题 How can I get user keycloak attributes (username, firstname, email...) based on user id? The user I'm using in the Keycloak session has already the role view-users assigned so I should be able to list at least all users, is there any Keycloak class that I can use? What I'm trying to achieve here is to avoid to replicate the keycloak users database to another local database, but doesn't seem possible to access any other user info, besides the one in the current session... 回答1: You can use the

cannot create user in the keycloak. Getting 403 status

元气小坏坏 提交于 2020-08-22 05:19:42
问题 I am trying to access the create a user in the keycloak programmatically. But I am getting 403 as a status code. I am following the below link. https://technology.first8.nl/programmatically-adding-users-in-keycloak/ Can anyone help me? Thanks In advance I have using the following code to create user Keycloak kc = Keycloak.getInstance( "http://{server name}:8080/auth", "{realm name}", // the realm to log in to "{useraname}", "{password}", // the user "{client id}", "{client secret key}");

vue中sso登录使用VueKeycloak登录

拟墨画扇 提交于 2020-08-19 13:08:27
一,先下载vuekeycloakjs npm install @dsb-norge/vue-keycloak-js --save 二,引入 import VueKeycloakJs from ' @dsb-norge/vue-keycloak-js ' 三,进行配置(里面的配置项需要在keycloak后台管理里面配置) Vue.use(VueKeycloakJs, { init: { onLoad: " login-required ", checkLoginIframe: false//防止登陆后重复刷新 }, config: { url: process.env.VUE_APP_SSO_URL, realm: process.env.VUE_APP_REALM, clientId: process.env.VUE_APP_CLIENTID }, onReady: keycloak => { new Vue({ router, store, render: h => h(App) }).$mount( " #app " ); } }); 四,应用 <span>{{$keycloak.token}}</span> <span>{{$keycloak.username}}</span> <span @click= " $keycloak.logoutFn " >退出</span>

keycloak基本概念

99封情书 提交于 2020-08-12 05:58:28
术语 realm 领域的名称, 这是必需的。 resource 应用程序的client-id,每个应用程序都有一个用于标识该应用程序的client-id。 这是必需的。 realm-public-key 领域的公钥,PEM格式。 您可以从管理控制台中获取。 这是可选的,建议您不要进行设置。 如果未设置,则适配器将从Keycloak下载此文件,并且始终会在需要时重新下载它(例如Keycloak旋转其密钥)。 但是,如果设置了realm-public-key,那么适配器将永远不会从Keycloak下载新密钥,因此,当Keycloak旋转其密钥时,适配器会损坏。 auth-server-url Keycloak服务器的基本URL。 所有其他Keycloak页面和REST服务端点都从此派生。 通常采用https:// host:port / auth的形式。 这是必需的。 ssl-required 确保与Keycloak服务器之间的所有通信均通过HTTPS。 在生产中,这应该设置为全部。 这是可选的。 默认值为外部,这意味着外部请求默认情况下需要HTTPS。 有效值为“全部”,“外部”和“无”。 confidential-port Keycloak服务器用于通过SSL / TLS进行安全连接的机密端口。 这是可选的。 默认值为8443。 use-resource-role-mappings

allow or deny login by keycloak groups when logging in

谁都会走 提交于 2020-08-10 18:55:32
问题 I develop applications(SPA Application + API server and windows application) to use OpenID using keycloak. I want to control login when logging in with keycloak using keycloak groups (https://www.keycloak.org/docs/latest/server_admin/#groups). For example, is the following application specification possible? User A -> Group1 and Group2 User B -> Group1 Client A(SPA Application) -> Allow Group1 Client B(Windows Application) -> Allow Group2 results: User A -> Allow to use the SPA Application

Freemarker核心概念

久未见 提交于 2020-08-10 09:10:10
要自定义keycloak页面,必要先熟悉其采用的模板引擎freemarker,读懂base模板代码。要理解其工作原理及术语,方便交流,有选择的使用前端技术替换实现。 工作原理 模板引擎 是一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。 模板引擎基于已经准备好的数据和模板来渲染HTML。数据放在多层嵌套的map结构中,当模板中使用点符号取数据,本质是一层层的从map中get。模板解析器会读取模板的字符,解析模板引擎的标签,表达式等,替换或生成对应的数据。 数据模型 为模板准备的数据整体被称作为 数据模型 。 数据模型是树形结构,在Java中实现就是多层map。 变量 模型中的key,取出对应的value替换变量。 方法 方法变量在存于实现了 TemplateMethodModel 接口的模板中。 public class IndexOfMethod implements TemplateMethodModel { ...... } root.put("indexOf", new IndexOfMethod()); ${indexOf("met", x)} 模板 .ftl文件,最简单的模板通常是普通的HTML文件,文件中自然可以包含html

Get the AccessToken of Keycloak in Spring Boot

微笑、不失礼 提交于 2020-08-10 01:15:09
问题 i used Keycloak for the authorization management in my spring boot application, i get the access token from this curl command: curl \ -d "client_id=admin-cli" \ -d "username=user" \ -d "password=password" \ -d "grant_type=password" \ "http://localhost:8180/auth/realms/SpringBootKeycloak/protocol/openid-connect/token" now i want to get this accessToken in my controller, i tried this example but it doesn't seem to be working, It displays this error : org.keycloak.adapters.springsecurity.token

Keycloak快速上手指南,只需10分钟即可接入Spring Boot/Vue前后端分离应用实现S

扶醉桌前 提交于 2020-08-06 15:22:50
登录及身份认证是现代web应用最基本的功能之一,对于企业内部的系统,多个系统往往希望有一套SSO服务对企业用户的登录及身份认证进行统一的管理,提升用户同时使用多个系统的体验,Keycloak正是为此种场景而生。本文将简明的介绍Keycloak的安装、使用,并给出目前较流行的前后端分离应用如何快速接入Keycloak的示例。 Keycloak是什么 Keycloak是一种面向现代应用和服务的开源IAM(身份识别与访问管理)解决方案 Keycloak提供了单点登录(SSO)功能,支持 OpenID Connect 、 OAuth 2.0 、 SAML 2.0 标准协议,拥有简单易用的管理控制台,并提供对LDAP、Active Directory以及Github、Google等社交账号登录的支持,做到了非常简单的开箱即用。 Keycloak常用核心概念介绍 首先通过官方的一张图来了解下整体的核心概念 这里先只介绍4个最常用的核心概念: Users : 用户,使用并需要登录系统的对象 Roles : 角色,用来对用户的权限进行管理 Clients : 客户端,需要接入Keycloak并被Keycloak保护的应用和服务 Realms : 领域,领域管理着一批用户、证书、角色、组等,一个用户只能属于并且能登陆到一个域,域之间是互相独立隔离的, 一个域只能管理它下面所属的用户