前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >keycloak_keycloak 同步用户表

keycloak_keycloak 同步用户表

作者头像
全栈程序员站长
发布于 2022-09-19 14:06:05
发布于 2022-09-19 14:06:05
1.6K0
举报

大家好,又见面了,我是你们的朋友全栈君。

部署和使用

keycloak是一套基于autho2.0开源授权系统。

第一步:下载keycloak安装包 https://www.keycloak.org/downloads

第二步:解压安装包

第三步:运行 windows下运行bin下的standalone.bat文件 linux下运行standalone.sh文件

可配置运行端口和监听host 命令(standalone.bat -Djboss.socket.binding.port-offset=100 -Djboss.bind.address=192.168.112.172)

-Djboss.socket.binding.port-offset=100 表示默认端口8080的偏移量 为8180

-Djboss.bind.address=172.168.112.172 表示的监听host默认127.0.0.1

第四步:更换数据库为pgsql,默认使用h2NoSql数据库。

下载pgsql驱动包:https://jdbc.postgresql.org/download.html

导入pgsql驱动包:在keycloak的modules\system\layers\base\org路径下创建\postgresql\main文件夹,将下载的驱动包放到main文件下,在main文件下创建文件module.xml的文件,编辑内容如下:

<?xml version=”1.0″ encoding=”UTF-8″?>

<module xmlns=”urn:jboss:module:1.5″ name=”org.postgresql”>

<resources>

<resource-root path=”postgresql-42.2.8.jar”/>

</resources>

<dependencies>

<module name=”javax.api”/>

<module name=”javax.transaction.api”/>

<module name=”javax.servlet.api” optional=”true”/>

</dependencies>

</module>

其中name是pgsql驱动包名,resource-root是驱动板文件名

修改keycloak-11.0.3\standalone\configuration\standalone.xml

查找 drivers 标签增加pgsql驱动

<driver name=”postgresql” module=”org.postgresql”>

  <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>

</driver>

module为之前module.xml中的name,此处的name为driver的名称

此处注意:xa-datasource-class的值会随着jdbc版本变化而不同,可从jar包中寻找到正确的路径。

向上查找标签 datasource

注释掉名称为keycloakDS的数据源,并加上pgsql的:

<datasource jndi-name=”java:jboss/datasources/KeycloakDS” pool-name=”KeycloakDS” enabled=”true” use-java-context=”true” statistics-enabled=”${wildfly.datasources.statistics-enabled:${wildfly.statistics-enabled:false}}”>

  <connection-url>jdbc:postgresql://localhost:5432/postgres</connection-url>

  <driver>postgresql</driver>

  <pool>

    <max-pool-size>20</max-pool-size>

  </pool>

  <security>

    <user-name>postgres</user-name>

    <password>root</password>

  </security>

</datasource>

此处注意:需要手工建立keycloak库。启动keycloak即可。在pgsql中可查看到创建数据库和表。

开发使用的接口文档:

https://www.keycloak.org/docs-api/7.0/rest-api/index.html

此处为授权码方式的接口:

获取code:”/protocol/openid-connect/auth” [get]

获取token和刷新token:”/protocol/openid-connect/token” [post]

获取用户信息:”/protocol/openid-connect/userinfo” [get]

域名/auth/realms/realms的值拼接上述的地址既可完成对应的请求

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/166868.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档