隔離這幾天開發(fā)了一個帶控制臺的OAuth2授權服務器分享給大家

停更這些天基括,業(yè)余時間和粉絲群的幾個大佬合作寫了一個基于Spring Authorization ServerOAuth2授權服務器的管理控制臺項目Id Server,我覺得這個項目能夠大大降低OAuth2授權服務器使用難度署尤∷乇辏可以讓你很方便地去管理OAuth2客戶端信息财异,甚至可以一鍵生成OAuth2配置文件姻灶。接下來簡單介紹一下Id Server這個項目红碑。

項目地址:https://github.com/NotFound403/id-server 記得Star一下名船。

主要功能

  • 開箱即用绰上,簡單配置后即可使用。
  • 創(chuàng)建OAuth2客戶端渠驼,并對OAuth2客戶端進行管理蜈块。
  • 提供OAuth2授權服務。
  • 支持四種客戶端認證方式:
    • CLIENT_SECRET_BASIC
    • CLIENT_SECRET_POST
    • CLIENT_SECRET_JWT
    • PRIVATE_KEY_JWT
  • 支持三種OAuth2授權方式:
    • AUTHORIZATION_CODE
    • CLIENT_CREDENTIALS
    • REFRESH_TOKEN
  • OIDC 1.0的支持(完善中)迷扇。
  • 一鍵生成配置yaml文件(正在開發(fā)中)百揭。
  • 提供UI控制臺,降低上手成本蜓席。
  • 可動態(tài)調(diào)整管理員的用戶角色器一,對授權服務器進行按鈕功能級別的權限控制。

主要技術

  • Spring Boot
  • Spring Security
  • Spring Authorization Server
  • Spring Data JPA
  • layui
  • thymeleaf
  • 數(shù)據(jù)庫
    • H2
    • Mysql

截圖

說這么多厨内,不如放一些圖更直觀祈秕。

控制臺臺登錄

首頁

通過UI創(chuàng)建OAuth2客戶端

創(chuàng)建管理用戶

角色授權

授權登錄

授權確認

簡單用法

  • 拉取主分支最新代碼到本地。
  • 通過IdServerApplication來啟動授權服務器雏胃。管理控制臺本地登錄路徑為http://localhost:9000/system/login请毛,最高權限用戶為root,密碼為idserver丑掺。
  • 你可以通過root用戶做這些事情:
    • 創(chuàng)建角色(角色管理)并為角色綁定權限获印。
    • 創(chuàng)建控制臺管理用戶(用戶管理)述雾,并賦予他們角色街州。

退出功能還未完善,需要通過關閉瀏覽器來清除session玻孟。

OAuth2 測試方法

  • 啟動Id Server唆缴,默認情況下在客戶端列表提供了一個內(nèi)置的OAuth2客戶端。
  • 樣例客戶端在samples文件夾下黍翎,直接啟動面徽,瀏覽器配置文件下的http://127.0.0.1:8082/foo/bar,進入登錄頁,輸入用戶名user和密碼user即可趟紊。
  • 你也可以在Id Server中創(chuàng)建一個客戶端并模仿DEMO中的配置氮双,主要修改client-id,client-secret,client-authentication-method,scope,其它選項除非你比較了解OAuth2霎匈,否則先不要動戴差,也可以通過issue咨詢。

redirect-uri必須在授權服務器Id Server注冊客戶端時聲明铛嘱。

如何替換內(nèi)置用戶user

首先要正確區(qū)分管理用戶和普通用戶這兩個概念暖释。

管理用戶

root及其創(chuàng)建的用戶為UI控制臺的管理用戶,超級管理員root是目前提供了一個默認用戶墨吓,具有Id Server的最高權限球匕。如果你需要自定義,可實現(xiàn)RootUserDetailsService接口并注入Spring IoC帖烘。

普通用戶

普通用戶就是OAuth2中的資源擁有者亮曹,主要對OAuth2客戶端的授權請求進行授權。默認提供了一個user用來演示秘症,開發(fā)者可以實現(xiàn)OAuth2UserDetailsService接口并注入Spring IoC來自定義用戶的來源乾忱。

多環(huán)境

目前Id Server提供H2Mysql兩種數(shù)據(jù)庫環(huán)境,分別對應application-h2.ymlapplication-mysql.yml兩個配置文件历极。

  • H2窄瘟,默認數(shù)據(jù)庫,在H2環(huán)境下趟卸,數(shù)據(jù)庫DDL腳本和DML腳本會自動執(zhí)行蹄葱,無需開發(fā)者手動執(zhí)行,該環(huán)境主要用來測試锄列、研究图云、學習。
  • Mysql邻邮,生產(chǎn)推薦竣况,首次啟動時開發(fā)者手動執(zhí)行初始化DML腳本

目前兩種環(huán)境的效果是一致的筒严,切換時務必在pom.xml中更換對應的數(shù)據(jù)庫驅動程序依賴丹泉。

愿景

這個項目希望能夠幫助大家學習和使用OAuth2,目前項目主線功能已經(jīng)完成鸭蛙,配置生成器和OIDC相關的功能正在跟進摹恨。希望大家多多支持,star一下娶视。通過issues多提BUG晒哄,多提需求睁宰。

關注公眾號:碼農(nóng)小胖哥,獲取更多資訊

個人博客:https://felord.cn

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末寝凌,一起剝皮案震驚了整個濱河市柒傻,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌较木,老刑警劉巖诅愚,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異劫映,居然都是意外死亡违孝,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門泳赋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雌桑,“玉大人,你說我怎么就攤上這事祖今⌒?樱” “怎么了?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵千诬,是天一觀的道長耍目。 經(jīng)常有香客問我,道長徐绑,這世上最難降的妖魔是什么邪驮? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮傲茄,結果婚禮上毅访,老公的妹妹穿的比我還像新娘。我一直安慰自己盘榨,他們只是感情好喻粹,可當我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著草巡,像睡著了一般守呜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上山憨,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天查乒,我揣著相機與錄音,去河邊找鬼萍歉。 笑死侣颂,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的枪孩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蔑舞!你這毒婦竟也來了拒担?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤攻询,失蹤者是張志新(化名)和其女友劉穎从撼,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钧栖,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡低零,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了拯杠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掏婶。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖潭陪,靈堂內(nèi)的尸體忽然破棺而出雄妥,到底是詐尸還是另有隱情,我是刑警寧澤依溯,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布老厌,位于F島的核電站,受9級特大地震影響黎炉,放射性物質(zhì)發(fā)生泄漏枝秤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一慷嗜、第九天 我趴在偏房一處隱蔽的房頂上張望宿百。 院中可真熱鬧,春花似錦洪添、人聲如沸垦页。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽痊焊。三九已至,卻和暖如春忿峻,著一層夾襖步出監(jiān)牢的瞬間薄啥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工逛尚, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留垄惧,地道東北人。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓绰寞,卻偏偏與公主長得像到逊,于是被迫代替她去往敵國和親铣口。 傳聞我的和親對象是個殘疾皇子毡泻,可洞房花燭夜當晚...
    茶點故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容