首先得有一個注冊的appkey和App Secret
該流程分三個步驟:
第一步:通過用戶授權獲取授權碼Code;
第二步:用上一步獲取的Code和應用密鑰(AppSecret)通過Https Post方式換取Token。
第三步:獲取用戶Nick或者其他信息
第一步:通過用戶授權獲取授權碼Code;
第二步:用上一步獲取的Code和應用密鑰(AppSecret)通過Https Post方式換取Token。
第三步:獲取用戶Nick或者其他信息
第四步:保存session信息
名稱 |
是否必需 | 描述 |
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代碼實現授權:
第一步:
在網站設置登陸入口
第二步,在redirect網站接受登錄后返回的code,並獲得access_token
1. access_token就相當於sessionKey,后續調用其他接口可以直接使用
三、使用淘寶api獲取登陸的用戶名,將此用戶名設置到session中。