首页 > 其他分享 >Keycloak部署及与Jenkins集成SSO配置

Keycloak部署及与Jenkins集成SSO配置

时间:2023-02-04 11:23:44浏览次数:40  
标签:Keycloak DATABASE 点击 SSO Client jenkins Jenkins KEYCLOAK keycloak

Jenkins 与 keycloak集成

搭建keycloak

运行keycloak服务

创建docker-compose.yaml文件,运行docker-compose up -d 拉起服务

version: '3'

networks:
  keynet:
    driver: bridge

services:
  postgresql:
    image: 'bitnami/postgresql:latest'
    environment:
      - POSTGRESQL_DATABASE=bitnami_keycloak
      - POSTGRESQL_USERNAME=bn_keycloak
      - POSTGRESQL_PASSWORD=passw@rd
    networks:
      - keynet
  keycloak:
    image: 'bitnami/keycloak:latest'
    environment:
      - KEYCLOAK_CREATE_ADMIN_USER=true
      - KEYCLOAK_ADMIN_USER=user
      - KEYCLOAK_ADMIN_PASSWORD=bitnami
      - KEYCLOAK_MANAGEMENT_USER=manager
      - KEYCLOAK_MANAGEMENT_PASSWORD=bitnami1
      - KEYCLOAK_DATABASE_HOST=postgresql
      - KEYCLOAK_DATABASE_PORT=5432
      - KEYCLOAK_DATABASE_NAME=bitnami_keycloak
      - KEYCLOAK_DATABASE_USER=bn_keycloak
      - KEYCLOAK_DATABASE_PASSWORD=passw@rd
      - KEYCLOAK_DATABASE_SCHEMA=public
      - KEYCLOAK_HTTP_PORT=8080
      - KEYCLOAK_BIND_ADDRESS=0.0.0.0
    depends_on:
      - postgresql
    ports:
      - 8080:8080
    networks:
      - keynet

keycloak 与 OpenLDAP集成

创建新的realm, 名为SSO

选中新建的SSO Realm, 然后点击User federation -> Add new provider -> LDAP

点击保存, 然后进入刚配置的provider, 点击右上角Action -> Sync all users同步所有用户。 同步完成即可在User的页签下, 使用通配符*查询到导入的所有的用户。

keycloak与jenkins集成

keycloak 配置

创建点击Client -> Create client, clientid 填jenkins。按照下图填写client信息。

点击Client Scope -> Create Client Scope, Name填写audience, 其他默认。

点击新建的audience, 选择Mapper -> Add Mapper -> By Configuration, 选择audience, 根据图片创建mapper。Included Client Audiencee 选择上面建的jenkins

点击Client -> jenkins -> Client Scopes -> Add Client Scope, 勾选上一步建的Client Scope, 点击Add选择Default.

jenkins client页面选择Action -> Download adapter config, 把json字符串复制出来备用.

jenkins配置

建议先备份jenkins的配置文件, 以免keycloak配置错误导致的jenkins无法登陆。

jenkins 安装 Keycloak Authentication Plugin 插件,

点击Manage Jenkins -> Configure Global Security -> Security Realm, 选择Keycloak Authentication Plugin, 保存。

点击Manage Jenkins -> Configure System 找到KeyCloak Json, 把上面导出的字符串贴进去。保存

注意!!!需要把导出json中的confidential-port和policy-enforcer 字段删掉, 否则jenkins会无法登陆

随后在新窗口打开jenkins, 即可重定向到keycloak登陆页面。

标签:Keycloak,DATABASE,点击,SSO,Client,jenkins,Jenkins,KEYCLOAK,keycloak
From: https://www.cnblogs.com/Chinori/p/17091126.html

相关文章

  • Jenkinsfile小笔记
    JenkinsfileJenkins流水线支持两种语法,声明式和脚本式流水线.两种语法都支持持续交付流水线.两种都可以用来在webUI或jenkinsfile中定义流水线,不过通常认为创建......
  • G6 Lesson1 Write
    writetoExpressAgoodwriterdevelopscharactersthroughtheirconversationsaswelladtheiractios.Forexample,whenNatalieandZoefirsttalkin"TheSc......
  • G6 lesson1 grammar
    GrammarWhatisasentence?Asentenceisagroupofwordsthatexpressesacompletethought.Asentencemustincludeacompletesubject,allthewordsthatte......
  • jenkins中ssh远程无法执行javac命令
    最近发现有个项目修改后在jenkins发布不生效,查找原因,根据输出的日志发现javac命令不存在,但是登录上服务器发现手动输入执行javac 相关命令是没问题的,于是在jenkins中添加......
  • jenkins配置和使用使用git,ssh方式
    1.安装githttps://blog.csdn.net/jsboy123/article/details/806172312.生成git秘钥和私钥ssh-keygen-trsa3.查看公钥并配置到自己的项目中cat.ssh/id_rsa.pub4.jenkins......
  • Linux配置ntp时间同步服务器(No association ID's returned大概率是配置文件问题)
    时间服务器作用:大数据产生与处理系统是各种计算设备集群的,计算设备将统一、同步的标准时间用于记录各种事件发生时序,如E-MAIL信息、文件创建和访问时间、数据库处理时间......
  • jenkins的git parameter简述
    安装就不多说了。插件管理找git parameter安装就行。 当使用自由风格的项目时第一步:先选择参数构建中的git参数,名称随便写,参数类型为branch,tag等5种,这里就选择下图......
  • jenkins访问报错AWT is not properly configured on this server. Perhaps you need t
      貌似是AWT组件中FontConfiguration组件出现一些问题。隐约记得好想OpenJDK的某一个坑。OpenJDK和OracleJDK之间其中一个差别是:OpenJDK对某一些组件类似上面的字体......
  • keycloak~JWT各字段说明及扩展字段的方法
    jwt扩展字段介绍为了实现业务的定制化需求和开发人员使用的便利,对kc的JWT进行了扩展,这个扩展字段在解析JWT之后都可以看到。jwt的payload{"exp":1675329802,"i......
  • jenkinsfile与项目做隔离
    @Library('siheng-devops')_pipeline{agent{label'jnlp-slave'}options{timeout(time:200,unit:'MINUTES')gitLabConnection('gi......