淘寶賬號基於OAuth2.0的登錄驗證授權登陸第三方網站


首先得有一個註冊的appkey和App Secret
 
該流程分三個步驟:
第一步:通過用戶授權獲取授權碼Code;
第二步:用上一步獲取的Code和應用密鑰(AppSecret)通過Https Post方式換取Token。
第三步:獲取用戶Nick或者其他信息
第四步:保存session信息
 
一、獲取授權碼Code應用在要求獲取用戶信息的時候,首先引導用戶(Redirect)到登錄授權頁面https://oauth.taobao.com/authorize

需要傳的參數有


名稱
是否必需 描述
response_type Y 此處爲web應用,此值固定爲code
client_id Y 即創建應用時的Appkey
redirect_uri Y 登錄後的回調地址,(注意:此地址必須要與註冊應用時的回調地址相匹配,匹配規則是:注域名完全匹配
state N 該參數由應用定義,用戶授權後,授權服務器會原封不動將此參數返回。
注: 應用可通過可選參數state來記錄用戶當前所處的頁面位置信息,方便用戶登錄授權後,頁面回調到用戶之前所處的位置。

例如: https://oauth.taobao.com/authorize?response_type=code&client_id=12251541&redirect_uri=http://www.xx.org&state=1

[attachment=335]

用戶登陸後,顯示用戶授權頁面:
[attachment=336]

此時,用戶可以選擇“授權”或者“取消”(即不同意授權)。
如果用戶同意授權,則跳轉到應用的回調地址(redirect_uri),同時,應用獲得授權碼code
[attachment=337]

如果用戶取消授權或者訪問出錯
[attachment=338]

二、用授權碼Code換取Token應用在獲取授權碼後,發送Https Post到授權服務器,授權服務器驗證授權碼的合法性和應用的AppSecret,驗證通過後授權服務器返回Access Token給應用。



需要傳的參數有:


名稱
是否必需 描述
grant_type Y 授權類型 authorization_code 或者 refresh_token
code Y 授權請求中的授權碼,即第一步獲取到的code
redirect_uri Y 登錄後的回調地址,(注意:此地址必須要與註冊應用時的回調地址相匹配,匹配規則是:注域名完全匹配
client_id Y 客戶標識,即appkey
client_secret Y 客戶密鑰,即appsecret


以下爲java代碼實現授權:

第一步:
在網站設置登陸入口
  1. <A class="g6" title=會員登錄
       href="https://oauth.taobao.com/authorize?client_id=12381144&response_type=code&state=1&redirect_uri=http://localhost:2011/WinTaobao/do.jsp" target="_blank">
       登錄


第二步,在redirect網站接受登錄後返回的code,並獲得access_token

  1.  access_token就相當於sessionKey,後續調用其他接口可以直接使用

 
三、使用淘寶api獲取登陸的用戶名,將此用戶名設置到session中。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章