1. 程式人生 > >微信公眾平臺授權登入(java版)

微信公眾平臺授權登入(java版)

微信公眾平臺授權登入獲取使用者openid。

微信公眾平臺地址:https://mp.weixin.qq.com/

微信平臺配置:


2、修改配置


2.1  業務域名配置


JS介面安全域名、網頁授權域名 同理操作就可以了,正常操作業務域名就完成了,剩下兩個步驟直接配置域名就可以了,如果有其他業務需求,就自己研究吧。

-----------------------------------------------------配置結束-----------------------------------------------------

3、具體實現程式碼:

網頁開啟地址

https://open.weixin.qq.com/connect/oauth2/authorize?appid=appid&redirect_uri=redirect_uri&response_type=code&scope=snsapi_login&state=123#wechat_redirect

引數說明:

appid: 第二步提到的appid

redirect_uri:登入後回掉地址(請使用urlEncode對連結進行處理)

scope:

    snsapi_login (獲取基本資訊,需要的openid就夠了)

4.2 微信回撥域名處理

地址:https://api.weixin.qq.com/sns/oauth2/access_token?appid=appid&secret=secret&code=code&grant_type=authorization_code

引數說明:

 appid: 第二步提到的appid

 secret: 第二步提到的secret

 code:微信回撥時候會傳會該引數,直接使用就可以了

返回內容(json):

  1.  {   "access_token": "",  
  2.     "expires_in": 7200,  
  3.     "refresh_token": "",  
  4.     "openid": "",  
  5.     "scope": "",  
  6.     "unionid": ""  
  7. }  

access_token:獲取使用者詳細資訊會使用到的
refresh_token:重新整理token,因為access_token會有expires_in的過期時效,可以使用重新整理
重新整理地址:https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN 
openid:登入使用者openid
unionid:unionid 


4.3 獲取登入使用者詳細資訊


地址:http:GET(請使用https協議) https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN 
引數說明:
access_token: 上一步獲取的access_token,
openid : 使用者的opneid,
返回內容就會有一些想要的內容,頭像地址,性別,暱稱。

補充說明:

微信開放平臺網頁登入獲取openid 和 微信公眾平臺(服務號)獲取的openid 是不一致的,如果要在微信公眾平臺裡做事情

比如推送訊息,必須使用微信公眾平臺的授權登入方式。

以上所有程式碼都是經過測試,並且通過的。放心使用。轉載請註明出處。