iOS開發(fā)-OAuth2.0和SSO授權(quán)

OAuth2.0:

一種安全的登陸協(xié)議野建,用戶的賬戶密碼不提交到本APP,而是提交到授權(quán)服務(wù)器,待服務(wù)器確認后谊囚,返回本APP一個訪問令牌怕享,本APP即可用該訪問令牌訪問資源服務(wù)器的資源。由于用戶的賬號密碼并不與本APP直接交互秒啦,而是與官方服務(wù)器交互熬粗,因而它是安全的。

例如:地下城就是你的游戲余境,第三方應(yīng)用驻呐,QQ平臺就是你的家。想讓第三方應(yīng)用去你的家里做一些事芳来。你可以復(fù)制給他們一把鑰匙(用戶名和密碼)含末,我們要注意三個問題:
- 別人拿了鑰匙后可以去你家里任何地方
- 別人拿到你家的鑰匙后也許會不小心丟到,甚至故意送到其他人手里即舌。如何保證家的安全性佣盒?
- 一段時間后,你不想別人擁有你的鑰匙了顽聂,如何回收肥惭?

OAuth 是高級鑰匙:

  • 可以配置不同權(quán)限的鑰匙串。有些只能進客廳(讀取你的QQ昵稱)紊搪。有些鑰匙可以進臥室(讀取QQ頭像)
  • 鑰匙上帶著指紋驗證的(指紋 = appkey)蜜葱。 收到鑰匙的人只能自己用,不能轉(zhuǎn)讓
  • 遠程廢除之前發(fā)出的鑰匙相對來說, OAuth比給出用戶名密碼安全

流程:
  1耀石、獲取未授權(quán)的Request Token牵囤。
    url:request token url。
    param:appKey/appSecret滞伟,簽名方法/簽名(如HMAC-SHA1)揭鳞,timeStamp(時間戳:距1970/0/0/0/0/0的秒數(shù)),nonce(隨機生成的string梆奈,防止重復(fù)請求)
    response:Oauth_Token/Oauth_Secret
  2野崇、獲取用戶授權(quán)的Request Token。
    url:user authorizition url亩钟。
    param:Oauth_Token(上個步驟返回的令牌)舞骆,callback_url(授權(quán)成功后返回的地址)
    response:Oauth_Token(被用戶授權(quán)或否決的令牌)
  3、用已授權(quán)的Request Token換取AccessToken径荔。
    url:access token url督禽。
    param:appKey,Oauth_Token(上個步驟返回的令牌)总处,簽名狈惫,TimeStamp,nonce
    response:Access_Token/Secret

二、SSO授權(quán)技術(shù)

全稱:Single Sign On胧谈,用戶只需登陸一次即可訪問相互信任的子系統(tǒng)忆肾。用戶訪問系統(tǒng)1時,登陸成功后會返回一個ticket菱肖,當(dāng)用戶訪問系統(tǒng)2時客冈,會把ticket帶上,待驗證合法后即可訪問系統(tǒng)2稳强。聽起來跟cookie有點像场仲,沒錯,Web-SSO便有基于cookie的實現(xiàn)方案退疫。
  以新浪微博為例渠缕,很多手機APP在點擊新浪授權(quán)時,會跳到新浪客戶端的登陸頁面褒繁,這里就用到SSO技術(shù)啦亦鳞。在本APP授權(quán)新浪微博時,會先檢測手機是否安裝了新浪微博客戶端棒坏。

[[UIApplication sharedApplication] openURL:xxx]

可以打開另一個APP
這里sinaweibosso://login為客戶端的url并傳遞三個參數(shù)燕差,AppKey,RedirectURI坝冕,ssoCallbackScheme徒探。
  ssoCallbackScheme是返回的App Url地址,即自己定義的sinaweibosso.appKey徽诲。
  登陸成功后,客戶端會直接把AccessToken返回給本App吵血,就完成了一次授權(quán)谎替。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蹋辅,隨后出現(xiàn)的幾起案子钱贯,更是在濱河造成了極大的恐慌,老刑警劉巖侦另,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件秩命,死亡現(xiàn)場離奇詭異,居然都是意外死亡褒傅,警方通過查閱死者的電腦和手機弃锐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來殿托,“玉大人霹菊,你說我怎么就攤上這事≈е瘢” “怎么了旋廷?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵鸠按,是天一觀的道長。 經(jīng)常有香客問我饶碘,道長目尖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任扎运,我火速辦了婚禮瑟曲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘绪囱。我一直安慰自己测蹲,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布鬼吵。 她就那樣靜靜地躺著扣甲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪齿椅。 梳的紋絲不亂的頭發(fā)上琉挖,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機與錄音涣脚,去河邊找鬼示辈。 笑死,一個胖子當(dāng)著我的面吹牛遣蚀,可吹牛的內(nèi)容都是我干的矾麻。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼芭梯,長吁一口氣:“原來是場噩夢啊……” “哼险耀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起玖喘,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤甩牺,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后累奈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贬派,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年澎媒,在試婚紗的時候發(fā)現(xiàn)自己被綠了搞乏。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡戒努,死狀恐怖查描,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤冬三,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布匀油,位于F島的核電站,受9級特大地震影響勾笆,放射性物質(zhì)發(fā)生泄漏敌蚜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一窝爪、第九天 我趴在偏房一處隱蔽的房頂上張望弛车。 院中可真熱鬧,春花似錦蒲每、人聲如沸纷跛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贫奠。三九已至,卻和暖如春望蜡,著一層夾襖步出監(jiān)牢的瞬間唤崭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工脖律, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留谢肾,地道東北人。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓小泉,卻偏偏與公主長得像芦疏,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子微姊,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,976評論 2 355

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