第三方登錄先了解 OAuth 2.0
OAuth 協議的認證和授權的過程如下:
- 用戶打開我的博客后,我想要通過GitHub獲取改用戶的基本信息
- 在轉跳到GitHub的授權頁面后,用戶同意我獲取他的基本信息
- 博客獲得GitHub提供的授權碼,使用該授權碼向GitHub申請一個令牌
- GitHub對博客提供的授權碼進行驗證,驗證無誤后,發放一個令牌給博客端
- 博客端使用令牌,向GitHub獲取用戶信息
- GitHub 確認令牌無誤,返回給我基本的用戶信息
- oauth 詳情介紹
登錄GitHub 進入創建應用:
配置應用:
代碼操作:
第一步:引導用戶跳轉 github 授權登錄頁面
GET: https://github.com/login/oauth/authorize?client_id=xxxxx&state=xxx&redirect_uri=xxxx;
(client_id 上面已經拿到了,state參數隨便傳多少,redirect_uri 就是你上面填的Authorization callback URL)
第二步: 用戶授權后重定向 我們平台【回調地址】,返回code 參數值,通過code 再次訪問 github
POST:https://github.com/login/oauth/access_token?client_id=xxx&client_secret=xxx&code=xxx&redirect_uri=回調地址
(這次會得到響應的access_token)
第三步:通過獲取的access_token 換取 用戶信息
GET: https://api.github.com/user?access_token=xxx;
第四步:得到github授權用戶的個人信息,就可以插入到我們的數據庫中去了,授權登錄成功,跳轉主頁
最后用一張圖來總結 :
文章引用 : 使用 GitHub OAuth 第三方驗證登錄