想看一下AsyncTack的使用方法 記得寫過什麼 但是找了半天沒找到 才發現原來一直沒整理上來 關於Mars老師Android開發視頻教程第四季的一些東西(關於騰訊微博項目)
4-2 OAuth認證原理
1 什麼是OAuth
一種安全認證的協議
爲用戶資源的授權提供了一個安全、開放而又簡易的標準
不會使第三方觸及到用戶的賬號信息
http://www.oauth.net
2 OAuth當中的角色
ServiceProvider 服務提供者 通常是網站
User 用戶
Consumer 客戶 比如應用程序
Protected Resources 被保護的資源
3 OAuth驗證流程
以下是一個三角形的關係圖 因爲排版關係 自行想象一下兩兩之間的箭頭指向
Service Provider
3 可以訪問你的資源 2 請求訪問用戶的資源
4 User授權訪問 5 獲得授權
User 1 請求服務 Consumer
6 服務該用戶
補上了一張圖:
注意到用戶提交密碼是在第四步 而第三方Consumer從頭至尾沒有獲得賬號信息
1 Consumer ----request_token----> Service Provider
2 Service Provider ----grant request_token----> Consumer
3 Consumer ----redirect to auth page----> User
4 User ----authorize request_token----> Service Provider
5 Service Provider ----acknowledge authorization----> User
6 User ----redirect to consumer---->Consumer
7 Consumer ----access_token---->Service Provider
8 Service Provider ----grant access_token----> Service Provider
以上是Oauth的流程 官方的說明圖如下
在視頻講義中 又分了兩集介紹認證的過程
其中Oauth認證一中提到了Oauth認證需要用到的幾個關鍵URL
以騰訊微博爲例:(其他也類似)
Request Token URL 獲取未授權的Request Token的服務地址
https://open.t.qq.com/cgi-bin/request_token
User Authorization URL 獲取用戶授權的Request Token服務地址
https://open.t.qq.com/cgi-bin/authorize
Access Token URL 使用用戶授權後的Request Token換取Access Token的服務地址
https://open.t.qq.com/cgi-bin/access_token