Keycloak部署及與Jenkins集成SSO配置

来源:https://www.cnblogs.com/Chinori/archive/2023/02/04/17091126.html
-Advertisement-
Play Games

Jenkins 與 keycloak集成 搭建keycloak 運行keycloak服務 創建docker-compose.yaml文件,運行docker-compose up -d 拉起服務 version: '3' networks: keynet: driver: bridge service ...


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登陸頁面。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 摘要:在jvm中有很多的參數可以進行設置,這樣可以讓jvm在各種環境中都能夠高效的運行。絕大部分的參數保持預設即可。 本文分享自華為雲社區《為什麼需要對jvm進行優化,jvm運行參數之標準參數》,作者:共飲一杯無。 我們為什麼要對jvm做優化? 在本地開發環境中我們很少會遇到需要對jvm進行優化的需 ...
  • 1 簡介 我們之前使用了dapr的本地托管模式,但在生產中我們一般使用Kubernetes托管,本文介紹如何在GKE(GCP Kubernetes)安裝dapr。 相關文章: dapr本地托管的服務調用體驗與Java SDK的Spring Boot整合 dapr入門與本地托管模式嘗試 2 安裝GKE ...
  • 前段時間因業務需要完成了一個工作流組件的編碼工作。藉著這個機會跟大家分享一下整個創作過程,希望大家喜歡,組件暫且命名為"easyFlowable"。 接下來的文章我將從什麼是工作流、為什麼要自研這個工作流組件、架構設計三個維度跟大家來做個整體介紹。 ...
  • 本文介紹基於Python語言中TensorFlow的Keras介面,實現深度神經網路回歸的方法。 1 寫在前面 前期一篇文章Python TensorFlow深度學習回歸代碼:DNNRegressor詳細介紹了基於TensorFlow tf.estimator介面的深度學習網路;而在TensorFl ...
  • 某一日晚上上線,測試同學在回歸項目黃金流程時,有一個工單項目介面報JSF序列化錯誤,馬上升級對應的client包版本,編譯部署後錯誤消失。 線上問題是解決了,但是作為程式員要瞭解問題發生的原因和本質。但這都是為什麼呢? ...
  • 前言 本文寫給想學C#的朋友,目的是以儘快的速度入門 C#好學嗎? 對於這個問題,我以前的回答是:好學!但仔細想想,不是這麼回事,對於新手來說,C#沒有那麼好學。 反而學Java還要容易一些,學Java Web就行了,就是SpringBoot那一套。 但是C#方向比較多,你是學控制台程式、WebAP ...
  • 前言 當別人做大數據用Java、Python的時候,我使用.NET做大數據、數據挖掘,這確實是值得一說的事。 寫的並不全面,但都是實際工作中的內容。 .NET在大數據項目中,可以做什麼? 寫腳本(使用控制台程式+頂級語句) 寫工具(使用Winform) 寫介面、寫服務 使用C#寫代碼的優點是什麼? ...
  • 新建一個STM32CubeIDE 新工程 選擇自己的晶元型號,我的是STM32F103RCT6 選擇工程保存位置,不能有中文路徑,會報錯 選擇下載方式、一定要選,不然下次下載有問題 選擇時鐘來源,我的板子有8Mhz、32.768Khz兩個外置晶振 配置時鐘頻率 生成相應的.c .h文件,方便我們管理 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...