UAA與Oathor

微服務(wù)常用訪問安全設(shè)計方案——API Tokens


第三種曼库,如上示意圖所示,使用Token Based協(xié)議來對用戶請求進(jìn)行操作鑒權(quán)葵腹。

簡單介紹下最基本的Token Based的交互方式:

簡單介紹下最基本的Token Based的交互方式:

用戶使用包含用戶名和密碼的credential從客戶端發(fā)起資源請求

后端接受請求饮潦,通過授權(quán)中心,生產(chǎn)有效token字符串伯顶,返回給客戶端

客戶端獲得token后,再次發(fā)出資源請求

后端接受帶token的請求骆膝,通過授權(quán)中心祭衩,獲取相關(guān)資源,返回給客戶端


以上圖Google提供的Apps SSO的機(jī)制阅签,簡單介紹下SAML鑒權(quán)的交互方式:

用戶請求訪問自建的google application

當(dāng)前application 生成一個 SAML 身份驗證請求掐暮。SAML 請求將進(jìn)行編碼并嵌入到SSO 服務(wù)的網(wǎng)址中。

當(dāng)前application將重定向發(fā)送到用戶的瀏覽器政钟。重定向網(wǎng)址包含應(yīng)向SSO 服務(wù)提交的編碼 SAML 身份驗證請求路克。

SSO(統(tǒng)一認(rèn)證中心或叫Identity Provider)解碼 SAML 請求樟结,并提取當(dāng)前application的 ACS(聲明客戶服務(wù))網(wǎng)址以及用戶的目標(biāo)網(wǎng)址(RelayState 參數(shù))。然后精算,統(tǒng)一認(rèn)證中心對用戶進(jìn)行身份驗證瓢宦。

統(tǒng)一認(rèn)證中心生成一個 SAML 響應(yīng),其中包含經(jīng)過驗證的用戶的用戶名灰羽。按照 SAML 2.0 規(guī)范驮履,此響應(yīng)將使用統(tǒng)一認(rèn)證中心的 DSA/RSA 公鑰和私鑰進(jìn)行數(shù)字簽名。

統(tǒng)一認(rèn)證中心對 SAML 響應(yīng)和 RelayState 參數(shù)進(jìn)行編碼廉嚼,并將該信息返回到用戶的瀏覽器玫镐。統(tǒng)一認(rèn)證中心提供了一種機(jī)制,以便瀏覽器可以將該信息轉(zhuǎn)發(fā)到當(dāng)前application ACS怠噪。

當(dāng)前application使用統(tǒng)一認(rèn)證中心的公鑰驗證 SAML 響應(yīng)恐似。如果成功驗證該響應(yīng),ACS 則會將用戶重定向到目標(biāo)網(wǎng)址傍念。

用戶將重定向到目標(biāo)網(wǎng)址并登錄到當(dāng)前application矫夷。

Spring Cloud Security解決方案

Spring Cloud Security特點有:

基于OAuth2 和OpenID協(xié)議的可配置的SSO登錄機(jī)制

基于tokens保障資源訪問安全

引入UAA鑒權(quán)服務(wù),UAA是一個Web服務(wù)憋槐,用于管理賬戶双藕、Oauth2客戶端和用戶用于鑒權(quán)的問題令牌(Issue Token)。UAA實現(xiàn)了Oauth2授權(quán)框架和基于JWT(JSON web tokens)的問題令牌秦陋。


下面簡單介紹下UAA蔓彩,事實上,它是由CloudFoundry發(fā)起的驳概,也是CloudFoundry平臺的身份管理服務(wù)(https://docs.cloudfoundry.org...)赤嚼。

主要功能是基于OAuth2,當(dāng)用戶訪問客戶端應(yīng)用時顺又,生成并發(fā)放token給目標(biāo)客戶端更卒。

UAA認(rèn)證服務(wù)包含如下幾個方面的內(nèi)容:

認(rèn)證對象。如用戶稚照、客戶端以及目標(biāo)資源服務(wù)器

認(rèn)證類型蹂空。主要有授權(quán)碼模式、密碼模式以及客戶端模式

認(rèn)證范圍果录,即認(rèn)證權(quán)限上枕,并作為一個命名的參數(shù)附加到AccessToken上。

接下來弱恒,結(jié)合實例辨萍,一起來看下UAA在Spring Cloud中的實踐。


如圖所示返弹,這是一個簡單的基于Spring Cloud微服務(wù)架構(gòu)的例子锈玉,它的主要組件有:

Eureka組件提供服務(wù)發(fā)現(xiàn)功能

獨立的Config組件提供類似配置中心的服務(wù)爪飘,持久化層可以是文件系統(tǒng),也可是git repository

Auth組件提供基于UAA的鑒權(quán)服務(wù)

Account組件保存用戶的業(yè)務(wù)信息

其他組件不一一介紹了

這里主要講Auth組件和Account組件是如何基于UAA服務(wù)進(jìn)行認(rèn)證和授權(quán)拉背。

clientID和clientSecret

accessTokenUrl师崎,這里指定了auth組件的uaa獲取token的url

grant-type,即認(rèn)證類型椅棺,這里指定為client_credentials

scope犁罩,這里指定了server,說明是這個認(rèn)證請求只適用在各微服務(wù)之間的訪問土陪。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末昼汗,一起剝皮案震驚了整個濱河市肴熏,隨后出現(xiàn)的幾起案子鬼雀,更是在濱河造成了極大的恐慌,老刑警劉巖蛙吏,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件源哩,死亡現(xiàn)場離奇詭異,居然都是意外死亡鸦做,警方通過查閱死者的電腦和手機(jī)励烦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泼诱,“玉大人坛掠,你說我怎么就攤上這事≈瓮玻” “怎么了屉栓?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長耸袜。 經(jīng)常有香客問我友多,道長,這世上最難降的妖魔是什么堤框? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任域滥,我火速辦了婚禮,結(jié)果婚禮上蜈抓,老公的妹妹穿的比我還像新娘启绰。我一直安慰自己,他們只是感情好沟使,可當(dāng)我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布委可。 她就那樣靜靜地躺著,像睡著了一般格带。 火紅的嫁衣襯著肌膚如雪撤缴。 梳的紋絲不亂的頭發(fā)上刹枉,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天,我揣著相機(jī)與錄音屈呕,去河邊找鬼微宝。 笑死,一個胖子當(dāng)著我的面吹牛虎眨,可吹牛的內(nèi)容都是我干的蟋软。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼嗽桩,長吁一口氣:“原來是場噩夢啊……” “哼岳守!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起碌冶,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤湿痢,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后扑庞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體譬重,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年罐氨,在試婚紗的時候發(fā)現(xiàn)自己被綠了臀规。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡栅隐,死狀恐怖塔嬉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情租悄,我是刑警寧澤谨究,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站恰矩,受9級特大地震影響记盒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜外傅,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一纪吮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧萎胰,春花似錦碾盟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春熙尉,著一層夾襖步出監(jiān)牢的瞬間联逻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工检痰, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留包归,地道東北人。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓铅歼,卻偏偏與公主長得像公壤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子椎椰,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,864評論 2 354

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