第三方登錄實現步驟:
第三方登錄授權的流程:
1.說出是前端訪問我們自己的定義url,然后在我們自己的后台去調用第三方后台給的url,把后端生成的url返回給前端,也就是登錄頁面,
2.前端使用location.href重定向獲取code,
3.拿着獲取的code去獲取的access_token,(微博使用post,qq使用post,get都可以),
4.拿着access_token去獲取用戶openid或uid(唯一id),
5.判斷我們用戶表是不是有uid或openid,如果沒有返回給用戶綁定頁面,
6.判斷輸入的用戶名和密碼是否存在,
7.不存在,創建用戶,並保存到user表和第三方表,
8.存在,則直接關聯,
第一步:
微博開放平台 https://open.weibo.com 進行注冊:
第二步:
點擊微博先請求我們自定義的接口,
注意我們的回調地址!!!
生成這個url之后 需要返回到前端進行 微博登錄頁面的展示例如:
當微博賬號驗證登錄之后,我們的回調地址 就起到作用了,這個綁定頁面會立馬展現,頁面加載瞬間把code 發送后台,來我們接着看。
來我們順着來到后台
我們再一次向微博平台 發起post請求,主要是為了取用戶uid,
取到uid 之后 我們先到第三方表里進行判斷該用戶是否存在,如果該用戶存在,則直接把token等信息返回到前端,直接登錄即可。
來 我們看看前端 是如何處理這個數據的,正常重定向主頁 即可。
如果該 用戶第一次登錄,來我們接着看邏輯
生成token 直接返回前端,
我們看看前端如果處理回復,下面是個if 判斷 ,控制我們的綁定頁面輸入框的展示。
當用戶把點擊保存之后,我們看看url請求,
我們接着看后台,直接來到了apiview 的post請求進行邏輯判斷,
在上面的序列化器中 我們先判斷的 是用戶攜帶的token,是否合法,然后再進行短信驗證碼的判斷。
重點看看這里 ,我們先去user表里,也就是 我們第三方登錄的表關聯的user表 判斷該用戶的 密碼。
當我們 取到user信息之后,直接進行user表的保存,以及第三方標的信息保存。