微信公眾號網頁授權登錄獲取用戶基本信息


發布時間:2018-10-24
 
技術:spring springboot,微信公眾號
 

概述

微信公眾號網頁授權登錄后微信獲取用戶基本信息,部署即可運行完整demo

詳細

一、前言

(1)適合人群

1,JAVA服務端開發人員

2,初級人員開發人員

3,了解spring springboot + maven

3,了解公眾號開發

 

(2)你需要准備什么?

1,積極主動學習

2,微信公眾號開發基本流程

3,java后端幾大框架掌握如(spring springboot maven mybatis)

二、前期准備工作

軟件環境:日食

官方下載:HTTPS://www.eclipse.org/downloads/

(1)基本需求

實現微信授權登陸帶參數獲取用戶基本信息

(2)項目目錄結構

image.png

三、實現步驟

(1)官方流程 

網頁授權流程分為四步:

a、引導用戶進入授權頁面同意授權,獲取code

b、通過code換取網頁授權access_token(與基礎支持中的access_token不同)

c、如果需要,開發者可以刷新網頁授權access_token,避免過期

d、通過網頁授權access_token和openid獲取用戶基本信息(支持UnionID機制)

 

1.填寫授權回調頁面域名

進入測試公眾號,在體驗接口權限表中找到網頁帳號,右側添加自己的域名,測試公眾號可填寫本地IP,如你是正式公眾號只能填寫自己的域名,如果未填寫,當進行接口調用時,會提示:redirect_uri參數錯誤!如果還有其他不了解的配置,可以在開發文檔里查看詳信息,

a11.png

a12.png

 

2,下面展示訪問個人中心時,進行用戶授權

	   @RequestMapping("/weixinAutoLogin")
public void weixinAutoLogin(String userId,HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setHeader("Access-Control-Allow-Origin", "*");
/**
*這兒一定要注意!!首尾不能有多的空格(因為直接復制往往會多出空格),其次就是參數的順序不能變動
**/
String url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + AuthUtil.APPID +
"&redirect_uri=" + URLEncoder.encode(AuthUtil.Notify_url, "UTF-8") +
"&response_type=code" +
"&scope=snsapi_userinfo" +
"&state=" + userId +
"#wechat_redirect";
response.sendRedirect(url);
}

3,在微信打開地址測試 http://ib58jt.natappfree.cc/weixinAutoLogin?userId=1 如圖

image.png

4,用戶同意授權后

第一先請求 code:code作為換取access_token的票據,每次用戶授權帶上的code將不一樣,code只能使用一次,5分鍾未被使用自動過期。第二步通過剛請求來的 code去請求access_token和openid,第三部就是通過剛獲取的access_token和openid來請求用戶信息。

 

image.png

5,下面提供一個內網映射外網,軟件下載地址還有教程可以做公眾號開發

https://www.toutiao.com/a6470112787753337358/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1&timestamp=1534840577&app=news_article&utm_source=weixin&iid=40869406995&utm_medium=toutiao_android&group_id=6470112787753337358

 

我用的是測試號沒有可以申請測試一些基本功能微信都有提供

官方鏈接:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

 

注:本文著作權歸作者,由demo大師發表,拒絕轉載,轉載需要作者授權


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM