android sina oauth2.0 code认证,Android通过第三方登录理解oauth2.0机制
1. OAuth2.0介紹
說到第三方登錄,離不開oauth2.0,oauth2.0是“用戶認證和授權的標準”,是從oauth1.0基礎上發展來的。下圖是oauth2.0六個過程分析圖,為了分析這6個流程,下面我們通過
新浪微盤
授權登錄demo,詳細解析。
2. 運行新浪微盤SDK demo
運行新浪微盤(
開發者網站
)sdk demo,使用新浪微博賬號授權,入下圖進行操作:
3. 分析logcat日志信息
3.1 logcat信息
上面第2步運行demo,可以看到eclipse 的logcat打印很多信息,如下:
(1) https://auth.sina.com.cn/oauth2/authorize?
client_id=2330724462&redirect_uri=http%3A%2F%2Fvauth.appsina.com%2Fcallback1.php&display=mobile
(2)http://vauth.appsina.com/callback1.php?code=67db0ec6d0bac50253e254ff03a605fb&state=
(3) https://auth.sina.com.cn/oauth2/access_token?
client_id=2330724462&client_secret=04f81fc56cc936bfc8f0fa1cef285158&
grant_type=authorization_code&code=49ae713e40e740cdb7cf16c92ac7e2ed&
state=&redirect_uri=http%3A%2F%2Fvauth.appsina.com%2Fcallback1.php
下面,我們一步步分析上面logcat信息。
3.2 打開H5授權頁面
將上面第1步網址拷貝到瀏覽器,發現其實就是打開授權頁面,如下圖(瀏覽器的開發者視圖顯示的效果):
3.3 授權回調
在3.2的頁面中輸入新浪微博賬號和密碼,授權登錄,發現跳轉到下面的頁面,這個頁面就是3.1中logcat信息的第2條,其實就是打開授權回調頁面:
3.4 獲取token
3.1中第3條logcat信息,其實就是調用接口,傳入3.3獲取的參數code值,獲取access_token,這個步驟我們可以通過Firefox瀏覽器的RESTClient接口測試插件來分析,如下:可以看到服務器返回access_token
4. 分析OAuth2.0六個流程
上面分析了logcat的信息,現在我們再來看看OAuth2.0六個步驟:
4.1 六個角色
分析6個流程前,我們首先熟悉幾個角色:
Client
:客戶端,這里指的是新浪微盤SDK demo;
Resource Owner
:資源擁有者,這里指的是授權登錄賬戶;
Authorization Server
:授權服務器,這里指的是新浪的服務器;
Resource Server
:資源服務器,提供資源發服務器,這些資源比如用戶名、相冊等,這里的資源服務器指的是新浪服務器。
4.2 OAuth2.0六個流程
如上圖:
A
:客戶端發起授權請求,其實就是打開一個授權頁面(3.1中的1);
B
:用戶(資源擁有者)授權后,跳轉回調頁,回傳code值(3.1中的2)。
C
:發起授權請求,獲取access_token,其實就是使用B中的code,調用接口(3.1中的3)獲取access_token。
D
:授權服務器驗證,如果通過返回access_token,詳見3.4。
E
:使用獲得access_token申請獲取資源,比如我們可以獲取用戶信息,如下:
https://api.weipan.cn/2/account/info?access_token=3a71ce6665v5t4K2xJtU236L9Vfce151
F
:資源服務器返回資源,如下圖返回用戶信息:
以上就是OAuth2.0的6個流程。
本文版權歸傳智播客
Android培訓學院所有,歡迎轉載,轉載請注明作者出處。謝謝!
作者:傳智播客Android培訓學院
首發:
http://www.itcast.cn/android/
總結
以上是生活随笔為你收集整理的android sina oauth2.0 code认证,Android通过第三方登录理解oauth2.0机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 盛趣游戏 html5游戏,盛趣游戏谭雁峰
- 下一篇: html页面设置document类型,D