---恢復內容開始---數組
理清思路服務器
一、在第三方註冊成爲開發者,拿到第三方給的client_id(app_id---就像你的身份證、QQ號)和client_secret(就像你的QQ密碼);app
二、填寫好redirect_url(回調地址----用於用戶登陸成功後回到的頁面地址);加密
三、寫代碼url
- 當用戶點擊了第三方登陸的按鈕,出發事件;
- 把頁面跳轉到第三方登陸頁面;
- 第三方登陸頁面的URL通常由app_id和回調地址等參數構成,具體參見第三方開發文檔,照着文檔拼接URL頁面;
- 用戶要是登錄成功了,頁面會跳回到你在第三方填寫好的回調地址,而且你的回調地址後面會有第三方加密後送過來的code參數(型如code=xxxxx);
- 獲取上個步驟得到的code參數;
- 至此,用戶完成登陸,但咱們仍是沒法使用用戶信息,須要用戶受權;
- 若用戶贊成受權;
- 後臺訪問一個URL地址,URL地址中包含client_secret參數和code的參數(第三方服務器需驗證);
- 第三方服務器驗證所需參數,若驗證經過,則返回響應數據給咱們,通常是XML和JSON數組,從中咱們能夠獲得用戶的基本信息,其中也包括Accesstoken(可以獲得用戶基本資料的令牌),歸咱們用於調用相關API;
四、注:若在獲取accesstoken的url地址中,咱們添加了一個布爾參數,相似於-----&need_refresh_token=ture;則咱們獲得的響應數據中還會有refresh_token;spa
咱們能夠在當accesstoken失效,而用戶又沒有從新登錄時,用來後臺自動從新到url請求新的accesstoken。code
例如:連續幾個月在用戶的空間裏自動發說說(用戶不常常登陸)blog