實現 INFINI Console 與 GitHub 的單點登錄集成:一站式身份驗證解決方案

本文將為您詳細解析如何通過 GitHub OAuth 2.0 協議,為 INFINI Console 實現高效、安全的單點登錄(Single Sign-On, SSO)集成。通過此方案,用戶可直接使用 GitHub 賬戶無縫登錄 INFINI Console,簡化身份驗證流程,提升系統安全性與用戶體驗。

一、GitHub OAuth 應用配置

1. 創建 OAuth 應用程序

  • 登錄 GitHub,導航至 Settings -> Developer settings -> OAuth Apps

  • 點擊 New OAuth App,創建新的 OAuth 應用程序。

    創建 OAuth 應用

2. 配置應用信息

  • 填寫應用的基本信息,包括:

    • Application Name:應用名稱(如 “INFINI Console SSO”)
    • Homepage URL:應用主頁 URL
    • Authorization callback URL:回調 URL(格式:http://localhost:9000/oauth/callback

    配置應用信息

3. 獲取客戶端憑證

  • 創建應用后,系統將生成 Client IDClient Secret

  • 這些憑證將用于 INFINI Console 的 OAuth 配置。

    獲取客戶端憑證

4. 查看已注冊的 OAuth 應用

  • 創建完成后,您可以在 OAuth 應用列表中查看應用的詳細信息。

    已注冊的 OAuth 應用


二、INFINI Console 的 OAuth 集成配置

1. 修改配置文件

  • 編輯 INFINI Console 的配置文件,添加以下 OAuth 配置:

    security:enabled: trueoauth:enabled: trueclient_id: "xxxx"  # 替換為您的 Client IDclient_secret: "xxxx"  # 替換為您的 Client Secretdefault_roles: ["ReadonlyUI", "AllClusters"]  # 默認角色role_mapping:medcl: ["Administrator"]  # 特定用戶的角色映射authorize_url: "https://github.com/login/oauth/authorize"token_url: "https://github.com/login/oauth/access_token"redirect_url: ""scopes: []
    

2. 配置角色權限

  • AllClusters 角色:用于管理集群的全局權限。

  • ReadonlyUI 角色:為只讀用戶分配受限權限。

    AllClusters 角色配置

    Readonly 角色配置


三、單點登錄流程演示

1. 訪問 INFINI Console

  • 打開瀏覽器,訪問 http://localhost:9000

  • 點擊 單點登錄 按鈕,進入登錄流程。

    單點登錄入口

2. 使用 GitHub 登錄

  • 點擊 GitHub 圖標,跳轉至 GitHub 登錄頁面。

    GitHub 登錄界面

3. 授權應用訪問

  • 在 GitHub 授權頁面,確認授權 INFINI Console 訪問您的 GitHub 賬戶。

    GitHub 授權頁面

4. 登錄成功

  • 授權成功后,系統將自動跳轉回 INFINI Console,并顯示您的 GitHub 用戶名。

    登錄成功頁面

    顯示 GitHub 用戶名


四、總結

通過以上步驟,您已成功將 INFINI Console 與 GitHub 的單點登錄功能集成。此方案不僅簡化了用戶的登錄流程,還通過 GitHub 的 OAuth 2.0 協議確保了身份驗證的安全性。未來,希望INFINI Console進一步擴展角色權限管理,或集成其他身份提供者(如 Google、Microsoft 等),打造更加靈活的身份驗證體系。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/71753.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/71753.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/71753.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

記一次復雜分頁查詢的優化歷程:從臨時表到普通表的架構演進

1. 問題背景 在項目開發中,我們需要實現一個復雜的分頁查詢功能,涉及大量 IP 地址數據的處理和多表關聯。在我接手這個項目的時候,代碼是這樣的 要知道代碼里面的 ipsList 數據可能幾萬條甚至更多,這樣拼接的sql,必然是要內存溢出的,一味地擴大jvm參數不…

C++關鍵字之mutable

1.介紹 在C中,mutable是一個關鍵字,用于修飾類的成員變量。它的主要作用是允許在常量成員函數或常量對象中修改被標記為mutable的成員變量。通常情況下,常量成員函數不能修改類的成員變量,但有些情況下,某些成員變量的…

云計算中的API網關是什么?為什么它很重要?

在云計算架構中,API網關(API Gateway)是一個重要的組件,主要用于管理、保護和優化不同服務之間的接口(API)通信。簡單來說,API網關就像是一個中介,它充當客戶端和后端服務之間的“橋…

深搜專題2:組合問題

描述 組合問題就是從n個元素中抽出r個元素(不分順序且r < &#xff1d; n)&#xff0c; 我們可以簡單地將n個元素理解為自然數1&#xff0c;2&#xff0c;…&#xff0c;n&#xff0c;從中任取r個數。 例如n &#xff1d; 5 &#xff0c;r &#xff1d; 3 &#xff0c;所…

uniapp多端適配

UniApp是一個基于Vue.js開發多端應用的框架&#xff0c;它可以讓開發者編寫一次代碼&#xff0c;同時適配iOS、Android、Web等多個平臺。 環境搭建&#xff1a; UniApp基于Vue.js開發&#xff0c;所以需要先安裝Vue CLI npm install -g vue/cli 創建一個新的UniApp項目&…

Error [ERR_REQUIRE_ESM]: require() of ES Module

報錯信息&#xff1a; 【報錯】Message.js 導入方式不對&#xff0c;用的是 ES Moudle 的語法&#xff0c;提示使用 import 引入文件 項目開發沒有用到 js-message 依賴&#xff0c;是 node-ipc 依賴中用到的 js-message 依賴&#xff0c; node-ipc 中限制 js-message 版本&a…

給小米/紅米手機root(工具基本為官方工具)——KernelSU篇

目錄 前言準備工作下載刷機包xiaomirom下載刷機包【適用于MIUI和hyperOS】“hyper更新”微信小程序【只適用于hyperOS】 下載KernelSU刷機所需程序和驅動文件 開始刷機設置手機第一種刷機方式【KMI】推薦提取boot或init_boot分區 第二種刷機方式【GKI】不推薦 結語 前言 刷機需…

CSS通過webkit-scrollbar設置滾動條樣式

查看::-webkit-scrollbar-*各項關系 以下圖為例&#xff0c;可以分別定義滾動條背景、滾動軌道、滾動滑塊的樣式。 需要先給外部容器設置高度&#xff0c;再設置overflow: auto&#xff0c;最后設置三個webkit屬性。 <!DOCTYPE html> <html lang"en">…

自制操作系統前置知識匯編學習

今天要做什么&#xff1f; 為了更好的理解書中內容&#xff0c;需要學習下進制分析和匯編。 匯編語言其實應該叫叫機器指令符號化語言&#xff0c;目前的匯編語言是學習操作系統的基礎。 一&#xff1a;觸發器 電路觸發器的鎖存命令默認是斷開的&#xff0c;是控制電路觸發器…

uCOSIII-移植

一、uCOS移植 1.移植 C/OS-III前&#xff0c;需要獲取C/OS-III 的源代碼&#xff0c;C/CPU 和 C/LIB 這兩個組件的源代碼。 2.將獲取的uCOSIII源代碼添加到工程文件中&#xff1a; ①.uC-CPU/ARM-Cortex-M/ARMv7-M/ARM/cpu_a.asm、uC-CPU\ARM-Cortex-M\ARMv7-M\cpu_c.c 和 uC-…

Windows使用docker部署fastgpt出現的一些問題

文章目錄 Windows使用docker部署FastGPT出現的一些問題1.docker部署pg一直重啟的問題2.重啟MongoDB之后一直出現“Waiting for MongoDB to start...”3.oneapi啟動不了failed to get gpt-3.5-turbo token encoder Windows使用docker部署FastGPT出現的一些問題 1.docker部署pg一…

【Python爬蟲(52)】探秘Scrapy:項目結構與配置全解析

【Python爬蟲】專欄簡介&#xff1a;本專欄是 Python 爬蟲領域的集大成之作&#xff0c;共 100 章節。從 Python 基礎語法、爬蟲入門知識講起&#xff0c;深入探討反爬蟲、多線程、分布式等進階技術。以大量實例為支撐&#xff0c;覆蓋網頁、圖片、音頻等各類數據爬取&#xff…

【Android】ViewPager的使用

AndroidManifest.xml <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"><applicationandroid:allowBac…

京東廣告基于 Apache Doris 的冷熱數據分層實踐

一、背景介紹 京東廣告圍繞Apache Doris建設廣告數據存儲服務&#xff0c;為廣告主提供實時廣告效果報表和多維數據分析服務。歷經多年發展&#xff0c;積累了海量的廣告數據&#xff0c;目前系統總數據容量接近1PB&#xff0c;數據行數達到18萬億行&#xff0c;日查詢請求量8…

Windows PyCharm的python項目移動存儲位置后需要做的變更

項目使用的venv虛擬環境&#xff0c;因此項目移動存儲位置后需要重新配置python解釋器的位置&#xff0c;否則無法識別&#xff0c;若非虛擬環境中運行&#xff0c;則直接移動后打開即可&#xff0c;無需任何配置。 PyCharm版本為2021.3.3 (Professional Edition)&#xff0c;其…

前后端對接

前端與后端的對接主要通過 接口 進行數據交互&#xff0c;具體流程和方式如下&#xff1a; 1. 明確需求與接口定義 前后端協商&#xff1a;確定需要哪些接口、接口的功能、請求參數和返回格式。接口文檔&#xff1a;使用工具&#xff08;如 Swagger、Postman、Apifox&#xff…

簡識MQ之Kafka、ActiveMQ、RabbitMQ、RocketMQ傳遞機制

四種主流消息隊列&#xff08;Kafka、ActiveMQ、RabbitMQ、RocketMQ&#xff09;的生產者與消費者傳遞信息的機制說明&#xff0c;以及實際使用中的注意事項和示例&#xff1a; 1. Apache Kafka 傳遞機制 模型&#xff1a;基于 發布-訂閱模型&#xff0c;生產者向 主題&#…

Websocket——心跳檢測

1. 前言&#xff1a;為什么需要心跳機制&#xff1f; 在現代的實時網絡應用中&#xff0c;保持客戶端和服務端的連接穩定性是非常重要的。尤其是在長時間的網絡連接中&#xff0c;存在一些異常情況&#xff0c;導致服務端無法及時感知到客戶端的斷開&#xff0c;可能造成不必要…

tailwindcss 前端 css 框架 無需寫css 快速構建頁面

版本&#xff1a;VUE3 TS 框架 vite 文章中使用tailwindcss 版本&#xff1a; ^3.4.17 簡介&#xff1a; Tailwind CSS 一個CSS 框架&#xff0c;提供組件化的樣式&#xff0c;直接在HTML 中編寫樣式&#xff0c;無需額外自定義CSS &#xff0c;快速&#xff01; 簡潔&#…

MFC開發:如何創建第一個MFC應用程序

文章目錄 一、概述二、MFC 的主要組件三、創建一個MFC窗口四、控件綁定消息函數 一、概述 MFC 是微軟提供的一個 C 類庫&#xff0c;用于簡化 Windows 應用程序的開發。它封裝了 Windows API&#xff0c;提供面向對象的接口&#xff0c;幫助開發者更高效地創建圖形用戶界面&am…