日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

初探OAuth2.0第三方认证登录

發布時間:2023/12/16 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初探OAuth2.0第三方认证登录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是OAuth2.0?

  • 假設我有一件非常重要的文件存儲與于瑞士銀行的私有保險柜中,如果我需要委托某個人將他提取出來,除了將密碼告訴他之外別無他法,
    但是OAuth的目的卻是定義一種協議幫助資源的擁有者在不提供自身憑證的前提下授權第三方應用以他的名義存取受保護的資源。OAuth的全稱為“Open Authorization”,所以它是一個開放的協議,目前最新的版本為2.0。
  • OAuth2.0對OAuth1.0是完全不兼容的。目前支持OAuth的網站有t.sina.com.cn,t.qq.com,t.sohu.com,t.163.com,www.douban.com,www.twitter.com,www.facebook.com
  • 開心網open文檔:http://wiki.open.kaixin001.com/index.php?id=OAuth2.0%E6%96%87%E6%A1%A3

OAuth2.0涉及角色

  • 資源擁有者(RO:Resource Owner):資源的擁有者也是授權者,如果它是一個“人”,一般就是指最終用戶。由于“資源”在這個場景中表示為用戶的電子郵箱地址,所以資源擁有者自然就是指最終用戶。
  • 客戶端應用(Client):需要取得資源擁有者授權并最終訪問受保護資源的應用,對于我們的場景來說,就是我們創建的App。
  • 資源服務器(Resource Server):最終承載資源的服務器,它一般體現為一個可被調用的Web API。對于我們提供的場景來說,客戶端通過調用新浪微博得Web API獲得用戶的電子郵箱地址,所以新浪微博就是資源服務器。
  • 授權服務器(Authorization Server):它對用戶(一般情況下為資源擁有者)和客戶端應用實施認證,并在用戶授權的情況下向客戶端應用頒發Access Token。在我們提供的場景中,資源服務器和認證服務器合二為一,均為新浪微博。

實現方案

這里面的access_token可以考慮放在緩存中而不是放在數據庫中,一旦過期時間到就可以作廢了
oauth2.0有許多種流程,分別適應不同的第三方應用,并且這些流程數目還在不斷增加和完善中,一個網站可以實現一種或多種流程

1. Web Server Flow(適合有server的第三方使用的):web Server Flow是把oauth1.0的三個步驟縮略為兩個步驟

  • 客戶端http請求authorize
  • 服務端接收到authorize請求,返回用戶登陸框頁面
  • 用戶在客戶端登陸
  • 服務器端將瀏覽器定位到callbackurl,并同時傳遞Authorization Code
  • 客戶端使用https發送access_token
  • 服務器端收到access_token請求,驗證Authorization Code—生成access_token, refresh_token,和過期時間–access_token和refresh_token和過期時間入庫
  • 返回access_token和refresh_token,過期時間
  • 用戶使用HTTPS+ access_token請求開放平臺接口
  • 2.User-Agent(適合所有無server端配合的客戶端):

  • 客戶端http請求authorize
  • 服務端接收到authorize請求,返回用戶登陸框頁面
  • 用戶在客戶端登陸
  • 服務器端將瀏覽器定位到callbackurl,并同時傳遞access_token和過期時間
  • 總結

    以上是生活随笔為你收集整理的初探OAuth2.0第三方认证登录的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。