微信授權登陸流程(vue SpringMVC)

2021-08-20 01:48:54 字數 1683 閱讀 6394

1 第一步:使用者同意授權,獲取code

2 第二步:通過code換取網頁授權access_token

3 第三步:重新整理access_token(如果需要)

4 第四步:拉取使用者資訊(需scope為 snsapi_userinfo)

scope為snsapi_base

%2f%2fchong.qq.com%2fphp

%2findex.php%3fd

%3d%26c

%3dwxadapter

%26m

%3dmobiledeal

%26showwxpaytitle

%3d1

%26vb2ctag

%3d4_2030_5_1194_60&response_type=code&scope=snsapi_base&state=123

#wechat_redirect

scope為snsapi_userinfo

%2f%2fnba.bluewebgame.com%2foauth_response.php&response_type=code&scope=snsapi_userinfo&state=state#wechat_redirect

現在說下如何引導?

參看oauth流程的時候,也看到引導這個詞,具體如何引導,一開始我做的處理是後台使用springmvc攔截所有請求,如果沒有授權的則在後台使用如上鏈結獲取code,最終返回乙個token給前端。

created() 

//returnurl是傳給後端用來跳轉回前端頁面的位址

if(getcookie('token') == null)

後台封裝的介面

) 可以注意到方法簽名中多了state這個形參,在/auth介面的方法中將前端傳的returnurl作為state的值傳過來。

所以我們利用這個state來傳跳回前端頁面的位址。

現在拿到code了,可以換access_token,取到使用者資訊了

因為access_token很快過期,所以利用資料庫和redis儲存access_token,需要時查詢資料庫獲取即可。

拿到access_token後,利用gson獲取阿里的json轉成物件就可以獲取使用者資訊了。

這裡後端用redis生成100分鐘的token返回給前端,同時用上述提到的state重定向回到前端頁面,前端一拿到token就可進行存cookie的處理,以後每次請求頭中帶token便可通過認證了。

return

"redirect:" + state + "?token=" + token;

若專案對您有所幫助,還請給個star或者贊,這是對我最大的鼓勵。

微信授權登陸流程(vue SpringMVC)

1 第一步 使用者同意授權,獲取code 2 第二步 通過code換取網頁授權access token 3 第三步 重新整理access token 如果需要 所以我們利用這個state來傳跳回前端頁面的位址。現在拿到code了,可以換access token,取到使用者資訊了 4 第四步 拉取使用...

java微信授權登陸

專案列表 com.souvc.weixin.pojo類 token 憑證自己生成get 和set方法 public class token weixinoauth2token網頁授權資訊自己生成get 和set方法 public class weixinoauth2token weixinuseri...

《五》微信網頁登陸授權

登入 route get login home logincontroller login 首頁 route get home logincontroller index 退出 如果授權成功就會返回乙個 user 物件。to to 為第乙個引數,預設為這個 url auth user auth au...