Spring Security 實戰(zhàn)干貨:OAuth2第三方授權(quán)初體驗

1. 前言

Spring Security實戰(zhàn)干貨系列

現(xiàn)在很多項目都有第三方登錄或者第三方授權(quán)的需求影兽,而最成熟的方案就是OAuth2.0授權(quán)協(xié)議揭斧。Spring Security也整合了OAuth2.0,在目前最新的Spring Security 5中整合了OAuth2.0的客戶端峻堰,我們可以很方便的使用Spring Security OAuth2來實現(xiàn)相關(guān)的需求讹开。

接下來跟著胖哥的節(jié)奏搞一個第三方授權(quán)先直觀的感受一下。假設(shè)我現(xiàn)在也不會OAuth2.0從零開始捐名,產(chǎn)品給了一個使用碼云做授權(quán)的需求旦万,我們該怎么實現(xiàn)它?

2. 申請授權(quán)

這就像你想去某個公司上班镶蹋,你要面試并提交很多資料證明你可以滿足對方的需要成艘,通過后公司同意你去上班,給你一個職位以及對應(yīng)的權(quán)限贺归、工號淆两、工位。

同樣的道理牧氮,我們要去碼云申請一個授權(quán)功能琼腔,也就是在對方的開放平臺上開個授信客戶端瑰枫。以后不管你是微信踱葛、支付寶還是QQ都是差不多的流程丹莲。申請成功后它們會給你下面這些字段概念。

因平臺而異字段概念可能稍微有點出入尸诽,但是不會太大甥材。

2.1 clientId

很長的一個字符串,這就是你的應(yīng)用在這個的平臺的“工號”性含,當你請求授權(quán)時要攜帶這個clientId作為你應(yīng)用的標識洲赵。

2.2 clientSecret

客戶端密鑰,就像密碼一樣用以證明你的授權(quán)請求確實來自于你的應(yīng)用商蕴。這個是敏感數(shù)據(jù)叠萍,要注意保密。

2.3 authorizationGrantType

授權(quán)的類型途徑绪商,這個當你向第三方開放平臺申請時會明確告訴你可以使用的授權(quán)類型苛谷。你在請求授權(quán)時需要明確告訴第三方平臺你的授權(quán)類型。

OAuth2.0提供了常用的四種方式以及其它不常用的兩種方式格郁。

2.4 tokenUri

這個是第三方開放平臺提供給你獲取access_token的接口腹殿,這個access_token是你訪問第三方開放平臺開放資源的憑據(jù)。

2.5 userInfoUri

這個是你用來獲取被授權(quán)人在第三方開放平臺的用戶信息的接口例书,大多數(shù)是公開信息基本不涉及的敏感信息锣尉,以達到不同平臺之間信息共享的目的。

2.6 redirectUri

回調(diào)地址决采,有的平臺叫callback自沧。這有什么用呢?就像你面試留的手機或者電子信箱树瞭,面完面試官讓你回去等通知面試結(jié)果暂幼。這個redirectUri就是用來通知你授權(quán)的結(jié)果的,當然這個比面試官要特么靠譜移迫,成不成都會告訴你結(jié)果旺嬉。

當然這里面試的例子不是特別的合適,只是方便你快速理解厨埋。

2.7 scope

這個就是授權(quán)的條目邪媳,指的是你要表明你要這個授權(quán)干什么用,某個公司發(fā)了很多JD有Java開發(fā)荡陷、Golang開發(fā)雨效、前端開發(fā)、測試废赞、UI徽龟。你去面試肯定第一件事要告知面試官你面試哪個崗位一樣。

當然關(guān)于OAuth2.0的scope可能更加豐富唉地。

3. 體驗OAuth2.0授權(quán)

學習接觸一個新東西要不求甚解据悔,先去直觀感受它传透,了解它表面是如何運作的,然后再深入研究极颓。

所以我直接先放出了 Spring Security OAuth2.0 實現(xiàn)碼云第三方授權(quán)的DEMO朱盐,有興趣的同學先直觀感受下這個場景,后續(xù)我會由淺入深來共同學習這門技術(shù)菠隆。

3.1 使用方法

關(guān)注公眾號:碼農(nóng)小胖哥 回復 authgitee 獲取Spring Security OAuth2.0 DEMO后兵琳,直接運行對應(yīng)的分支項目。然后瀏覽器訪問接口骇径。http://localhost:8082/oauth2/authorization/gitee進行體驗躯肌。鎖定:碼農(nóng)小胖哥 后續(xù)會詳細的來分析相關(guān)的機制。

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

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末羡榴,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子运敢,更是在濱河造成了極大的恐慌幽污,老刑警劉巖袁串,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件表伦,死亡現(xiàn)場離奇詭異体啰,居然都是意外死亡,警方通過查閱死者的電腦和手機卦方,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門羊瘩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人盼砍,你說我怎么就攤上這事尘吗。” “怎么了浇坐?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵睬捶,是天一觀的道長。 經(jīng)常有香客問我近刘,道長擒贸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任觉渴,我火速辦了婚禮介劫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘案淋。我一直安慰自己座韵,他們只是感情好,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布踢京。 她就那樣靜靜地躺著誉碴,像睡著了一般宦棺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上翔烁,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機與錄音旨涝,去河邊找鬼蹬屹。 笑死,一個胖子當著我的面吹牛白华,可吹牛的內(nèi)容都是我干的慨默。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼弧腥,長吁一口氣:“原來是場噩夢啊……” “哼厦取!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起管搪,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤虾攻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后更鲁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體霎箍,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年澡为,在試婚紗的時候發(fā)現(xiàn)自己被綠了漂坏。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡媒至,死狀恐怖顶别,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拒啰,我是刑警寧澤驯绎,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站谋旦,受9級特大地震影響条篷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蛤织,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一赴叹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧指蚜,春花似錦乞巧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蚕冬。三九已至,卻和暖如春是辕,著一層夾襖步出監(jiān)牢的瞬間囤热,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工获三, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留旁蔼,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓疙教,卻偏偏與公主長得像棺聊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子贞谓,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345