OAuth2.0和SSO授權(quán)

一、OAuth2.0授權(quán)協(xié)議

一種安全的登陸協(xié)議,用戶提交的賬戶密碼不提交到本APP,而是提交到授權(quán)服務(wù)器,待服務(wù)器確認(rèn)后,返回本APP一個(gè)訪問(wèn)令牌,本APP即可用該訪問(wèn)令牌訪問(wèn)資源服務(wù)器的資源。由于用戶的賬號(hào)密碼并不與本APP直接交互,而是與官方服務(wù)器交互,因而它是安全的。
授權(quán)圖示


授權(quán)過(guò)程

流程:
1、獲取未授權(quán)的Request Token。
url:request token url。
  param:appKey/appSecret,簽名方法/簽名(如HMAC-SHA1),timeStamp(時(shí)間戳:距1970/0/0/0/0/0的秒數(shù)),nonce(隨機(jī)生成的string,防止重復(fù)請(qǐng)求)
  response:Oauth_Token/Auth_Secret

2、獲取用戶授權(quán)的Request Token。
  url:user authorizition url。
  param:Oauth_Token(上個(gè)步驟返回的令牌),callback_url(授權(quán)成功后返回的地址)
  response:Oauth_Token(被用戶授權(quán)或否決的令牌)

3、用已授權(quán)的Request Token換取AccessToken。
  url:access token url。
  param:appKey,Oauth_Token(上個(gè)步驟返回的令牌),簽名,TimeStamp,nonce
  response:Access_Token/Secret

參考新浪微博:http://open.weibo.com/wiki/授權(quán)機(jī)制說(shuō)明

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

全稱:Single Sign On,用戶只需登陸一次即可訪問(wèn)相互信任的子系統(tǒng)。用戶訪問(wèn)系統(tǒng)1時(shí),登陸成功后會(huì)返回一個(gè)ticket,當(dāng)用戶訪問(wèn)系統(tǒng)2時(shí),會(huì)把ticket帶上,待驗(yàn)證合法后即可訪問(wèn)系統(tǒng)2。聽(tīng)起來(lái)跟cookie有點(diǎn)像,沒(méi)錯(cuò),Web-SSO便有基于cookie的實(shí)現(xiàn)方案。
  以新浪微博為例,很多手機(jī)APP在點(diǎn)擊新浪授權(quán)時(shí),會(huì)跳到新浪客戶端的登陸頁(yè)面,這里就用到SSO技術(shù)啦。在本APP授權(quán)新浪微博時(shí),會(huì)先檢測(cè)手機(jī)是否安裝了新浪微博客戶端。
  [[UIApplicationsharedApplication] openURL:xxx]可以打開(kāi)另一個(gè)APP。這里sinaweibosso://login為客戶端的url并傳遞三個(gè)參數(shù),AppKey,RedirectURI,ssoCallbackScheme。
  ssoCallbackScheme是返回的App Url地址,即自己定義的sinaweibosso.appKey。
  登陸成功后,客戶端會(huì)直接把AccessToken返回給本App,就完成了一次授權(quán)。

參考新浪微博:http://open.weibo.com/wiki/移動(dòng)應(yīng)用SSO授權(quán)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • OAuth2.0: 一種安全的登陸協(xié)議,用戶的賬戶密碼不提交到本APP,而是提交到授權(quán)服務(wù)器,待服務(wù)器確認(rèn)后,返回...
    元宇宙協(xié)會(huì)閱讀 2,463評(píng)論 0 3
  • 一、OAuth2.0授權(quán)協(xié)議 一種安全的登陸協(xié)議,用戶提交的賬戶密碼不提交到本APP,而是提交到授權(quán)服務(wù)器,待服務(wù)...
    風(fēng)chat閱讀 503評(píng)論 0 1
  • 登錄的業(yè)務(wù)邏輯 { http:是短連接. 服務(wù)器如何判斷當(dāng)前用戶是否登錄? // 1. 如果是即時(shí)通信類:長(zhǎng)連接....
    wvqusrtg閱讀 1,138評(píng)論 0 0
  • 登錄的業(yè)務(wù)邏輯 { http:是短連接. 服務(wù)器如何判斷當(dāng)前用戶是否登錄? // 1. 如果是即時(shí)通信類:長(zhǎng)連接....
    jianshufei閱讀 1,874評(píng)論 0 2
  • 剛剛學(xué)c基礎(chǔ)的時(shí)候老師留的一道作業(yè),想想當(dāng)時(shí)一條路寫(xiě)下來(lái),,,,不堪回首,最近有重寫(xiě)一份感覺(jué)比以前有進(jìn)步,過(guò)段時(shí)間...
    隔壁班小明閱讀 327評(píng)論 0 0

友情鏈接更多精彩內(nèi)容