iOS OAuth2.0認證和SSO授權

來源:互聯網
上載者:User

標籤:

OAuth2.0和SSO授權  

一、OAuth2.0授權協議

一種安全的登陸協議,使用者提交的賬戶密碼不提交到本APP,而是提交到授權伺服器,待伺服器確認後,返回本APP一個存取權杖,本APP即可用該存取權杖訪問資原始伺服器的資源。由於使用者的帳號密碼並不與本APP直接互動,而是與官方伺服器互動,因而它是安全的。 

圖示: 

流程: 

1、擷取未授權的Request Token。 

url:request token url。 

param:appKey/appSecret,簽名方法/簽名(如HMAC-SHA1),timeStamp(時間戳記:距1970/0/0/0/0/0的秒數),nonce(隨機產生的string,防止重複請求)

response:Oauth_Token/Oauth_Secret

2、擷取使用者授權的Request Token。

url:user authorizition url。

param:Oauth_Token(上個步驟返回的令牌),callback_url(授權成功後返回的地址)

response:Oauth_Token(被使用者授權或否決的令牌)

3、用已授權的Request Token換取AccessToken。

url:access token url。

param:appKey,Oauth_Token(上個步驟返回的令牌),簽名,TimeStamp,nonce

response:Access_Token/Secret

 

二、SSO授權技術

全稱:Single Sign On,使用者只需登陸一次即可訪問相互信任的子系統。使用者訪問系統1時,登陸成功後會返回一個ticket,當使用者訪問系統2時,會把ticket帶上,待驗證合法後即可訪問系統2。聽起來跟cookie有點像,沒錯,Web-SSO便有基於cookie的實現方案。

以新浪微博為例,很多手機APP在點擊新浪授權時,會跳到新浪用戶端的登陸頁面,這裡就用到SSO技術啦。在本APP授權新浪微博時,會先檢測手機是否安裝了新浪微部落格戶端,如果沒有安裝微博,則會調到weibo的網頁版。

[[UIApplicationsharedApplication] openURL:xxx]可以開啟另一個APP。這裡sinaweibosso://login為用戶端的url並傳遞三個參數,AppKey,RedirectURI,ssoCallbackScheme。 

ssoCallbackScheme是返回的App Url地址,即自己定義的sinaweibosso.appKey。 

登陸成功後,用戶端會直接把AccessToken返回給本App,就完成了一次授權。

iOS OAuth2.0認證和SSO授權

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.