Spring Security oAuth2簡介

概述

快速上手使用 Spring 提供的 Spring Security oAuth2 搭建一套驗證授權(quán)及資源訪問服務(wù)楣导,在實現(xiàn)企業(yè)微服務(wù)架構(gòu)時能夠有效的控制多個服務(wù)的統(tǒng)一登錄、授權(quán)及資源保護(hù)工作

什么是 oAuth

oAuth 協(xié)議為用戶資源的授權(quán)提供了一個安全的耽梅、開放而又簡易的標(biāo)準(zhǔn)除盏。與以往的授權(quán)方式不同之處是 oAuth 的授權(quán)不會使第三方觸及到用戶的帳號信息(如用戶名與密碼)叉橱,即第三方無需使用用戶的用戶名與密碼就可以申請獲得該用戶資源的授權(quán),因此 oAuth 是安全的者蠕。

什么是 Spring Security

Spring Security 是一個安全框架窃祝,前身是 Acegi Security,能夠為 Spring 企業(yè)應(yīng)用系統(tǒng)提供聲明式的安全訪問控制蠢棱。Spring Security 基于 Servlet 過濾器锌杀、IoC 和 AOP,為 Web 請求和方法調(diào)用提供身份確認(rèn)和授權(quán)處理泻仙,避免了代碼耦合糕再,減少了大量重復(fù)代碼工作。

為什么需要 oAuth2

我們假設(shè)你有一個“云筆記”產(chǎn)品玉转,并提供了“云筆記服務(wù)”和“云相冊服務(wù)”突想,此時用戶需要在不同的設(shè)備(PC、Android究抓、iPhone猾担、TV、Watch)上去訪問這些“資源”(筆記刺下,圖片)

那么用戶如何才能訪問屬于自己的那部分資源呢绑嘹?此時傳統(tǒng)的做法就是提供自己的賬號和密碼給我們的“云筆記”,登錄成功后就可以獲取資源了橘茉。但這樣的做法會有以下幾個問題:

  • HTTP 服務(wù)提供商(HTTP service): 我們的云筆記產(chǎn)品以及 QQ工腋、微信等都可以稱之為“服務(wù)提供商”姨丈。
  • 資源所有者(Resource Owner): 又稱之為用戶(user)。
  • 用戶代理(User Agent): 比如瀏覽器擅腰,代替用戶去訪問這些資源蟋恬。
  • 認(rèn)證服務(wù)器(Authorization server): 即服務(wù)提供商專門用來處理認(rèn)證的服務(wù)器,簡單點說就是登錄功能(驗證用戶的賬號密碼是否正確以及分配相應(yīng)的權(quán)限)
  • 資源服務(wù)器(Resource server): 即服務(wù)提供商存放用戶生成的資源的服務(wù)器趁冈。它與認(rèn)證服務(wù)器歼争,可以是同一臺服務(wù)器,也可以是不同的服務(wù)器渗勘。簡單點說就是資源的訪問入口沐绒,比如上節(jié)中提到的“云筆記服務(wù)”和“云相冊服務(wù)”都可以稱之為資源服務(wù)器。

交互過程

oAuth 在 "客戶端" 與 "服務(wù)提供商" 之間呀邢,設(shè)置了一個授權(quán)層(authorization layer)洒沦。"客戶端" 不能直接登錄 "服務(wù)提供商"豹绪,只能登錄授權(quán)層价淌,以此將用戶與客戶端區(qū)分開來。"客戶端" 登錄授權(quán)層所用的令牌(token)瞒津,與用戶的密碼不同蝉衣。用戶可以在登錄的時候,指定授權(quán)層令牌的權(quán)限范圍和有效期巷蚪。"客戶端" 登錄授權(quán)層以后病毡,"服務(wù)提供商" 根據(jù)令牌的權(quán)限范圍和有效期,向 "客戶端" 開放用戶儲存的資料屁柏。


image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末啦膜,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子淌喻,更是在濱河造成了極大的恐慌僧家,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件裸删,死亡現(xiàn)場離奇詭異八拱,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)涯塔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門肌稻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人匕荸,你說我怎么就攤上這事爹谭。” “怎么了榛搔?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵诺凡,是天一觀的道長齿风。 經(jīng)常有香客問我,道長绑洛,這世上最難降的妖魔是什么救斑? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮真屯,結(jié)果婚禮上脸候,老公的妹妹穿的比我還像新娘。我一直安慰自己绑蔫,他們只是感情好运沦,可當(dāng)我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著配深,像睡著了一般携添。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上篓叶,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天烈掠,我揣著相機(jī)與錄音,去河邊找鬼缸托。 笑死左敌,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的俐镐。 我是一名探鬼主播矫限,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼佩抹!你這毒婦竟也來了叼风?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤棍苹,失蹤者是張志新(化名)和其女友劉穎无宿,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體廊勃,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡懈贺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了坡垫。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片梭灿。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖冰悠,靈堂內(nèi)的尸體忽然破棺而出堡妒,到底是詐尸還是另有隱情,我是刑警寧澤溉卓,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布皮迟,位于F島的核電站搬泥,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏伏尼。R本人自食惡果不足惜忿檩,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望爆阶。 院中可真熱鬧燥透,春花似錦、人聲如沸辨图。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽故河。三九已至吱韭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鱼的,已是汗流浹背理盆。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留鸳吸,地道東北人熏挎。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓速勇,卻偏偏與公主長得像晌砾,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子烦磁,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,927評論 2 355