SpringBoot+Vue實現第三方百度登入(一)
1 百度登入介紹
百度登入包括身份認證、使用者關係以及內容傳播。允許使用者使用百度帳號登入訪問第三方網站,分享內容,同步資訊。它有如下特點:
1. 直接用百度賬號登入你的應用或網站。
2. 獲得高質量百度活躍使用者。
3. 更便捷的分享到百度,提高網站資訊傳播力。
1.1 授權機制
百度開放介面的呼叫,如發登入、獲取使用者基本資訊、獲取熱門百度內容等,都是需要獲取使用者身份認證的。
目前百度開放平臺使用者身份鑑權主要採用的是OAuth2.0。另外,為了方便開發者開發、測試自己的應用,我們還提供了開發者自身授權的身份鑑權方式,但開發者自身授權僅適用於應用所屬的開發者自己呼叫介面。
如果百度使用者訪問第三方應用網頁,則第三方應用可以通過網頁授權機制,來獲取百度使用者基本資訊,進而實現自身業務功能。
介面文件
開發者可以先瀏覽OAuth2.0的介面文件,熟悉OAuth2.0的介面及引數的含義,然後我們根據應用場景各自說明如何使用OAuth2.0。
獲取途徑 | 授權流程 | 介紹 | 有效期 |
---|---|---|---|
新獲取 | Authorization Code | 又稱Web Server Flow,適用於所有有Server端配合的應用。 | 有效期一個月的Access Token+有效期十年的Refresh Token。 |
Implicit Grant | 又稱User-Agent Flow,適用於所有無Server端配合的應用(桌面客戶端需要內嵌瀏覽器)。 | 有效期一個月的Access Token。 | |
Client Credentials | 即採用應用公鑰、金鑰獲取Access Token,適用於任何帶server型別應用。通過此授權方式獲取Access Token僅可訪問平臺授權類的介面。 | 有效期一個月的Access Token+有效期十年的Refresh Token。 | |
Device | 適用於一些輸入受限的裝置上(如只有數碼液晶顯示屏的印表機、電視機等)。 | 有效期一個月的Access Token+有效期十年的Refresh Token。 | |
重新整理 | Refresh Token | Access Token重新整理方式,適用於所有有Server端配合的應用 。 | 十年重新整理期限。 |
注意事項
請求使用者授權時百度提供了一個在 OAuth2.0 協議中沒有提到的引數:display。它是用來標識不同形式的客戶端所對應的不同展現形式的授權頁面,其值定義如下
page:全屏形式的授權頁面(預設),適用於web應用。
popup:彈框形式的授權頁面,適用於桌面軟體應用和web應用。
dialog:浮層形式的授權頁面,只能用於站內web應用。
mobile:Iphone/Android等智慧移動終端上用的授權頁面,適用於Iphone/Android等智慧移動終端上的應用。
tv:電視等超大顯示屏使用的授權頁面。
pad:IPad/Android等智慧平板電腦使用的授權頁面。
2 成為開發者(個人網站:YOUYOUSHOP) 官網文件
開發者通過以下幾個步驟,即可接入微博開放平臺:訪問百度開發者中心官網 →使用百度帳號登入官網 → 註冊百度開發者 →建立/管理應用 → 通過稽核並獲取介面許可權。
2.1 註冊開發者
1. 如果您已是百度使用者,請您訪問百度開發者中心並使用百度賬號直接登入。
2. 如果您還不是百度使用者,請您訪問百度Passport,填寫註冊郵箱和密碼並激活成為百度使用者。
3. 訪問百度開發者中心使用百度賬號登入。
2.2 登入後,註冊開發者http://developer.baidu.com/user/reg#app/project即可進入註冊開發者頁面,請填寫相關資訊進行註冊。(如直接開發者資訊頁,說明您已經註冊過開發者,您可以跳過此步驟直接 檢視第四步)。下圖所示的是個人開發者註冊頁面:
2.3 按要求提交資料後,稽核人員會進行稽核,通過稽核後需要進行身份驗證,上傳身份證資訊,提交後等待稽核即可。
3網站應用及移動應用接入申請
應用接入前,首先需進行申請,獲得對應的API Key(client_id)和Secret Key(client_secret),以保證後續流程中可正確對網站與使用者進行驗證與授權。
3.1 建立應用
註冊開發者後,可以進行建立、管理應用http://developer.baidu.com/console#app/project
選擇建立應用, 選擇需要建立的應用型別,我們以網站應用為例, 點選“建立”按鈕即可,按要求完善資訊:
建立工程成功後,頁面跳轉到工程基本資訊頁,即可檢視應用的API Key(AK)和Secret Key (SK)。
3.2網站資訊完善
點選應用右側的“安全設定”,在高階資訊中編輯授權回撥頁,這裡與後面程式碼裡的回撥地址要一致