初探OAuth2.0第三方认证登录
生活随笔
收集整理的這篇文章主要介紹了
初探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的三個步驟縮略為兩個步驟
2.User-Agent(適合所有無server端配合的客戶端):
總結
以上是生活随笔為你收集整理的初探OAuth2.0第三方认证登录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络编辑必知常识:什么是PV、UV和PR
- 下一篇: Goolgle knowledge gr