1. 程式人生 > >微信開發--網頁授權獲取使用者基本資訊

微信開發--網頁授權獲取使用者基本資訊

功能:主要用於在使用者通過手機端微信訪問第三方H5頁面時獲取使用者的身份資訊(openId,暱稱,頭像,所在地等。。)可用來實現微信登入、微信賬號繫結、使用者身份鑑權等功能。

 
 

開發前的準備:

1、需要有一個公眾號,拿到AppID和AppSecret;
2、進入公眾號開發者中心頁配置授權回撥域名。具體位置:介面許可權-網頁服務-網頁賬號-網頁授權獲取使用者基本資訊-修改
     注意,這裡僅需填寫全域名(如www.qq.com、www.baidu.com),勿加 http:// 等協議頭及具體的地址欄位; 
     本文以 lovebread.tunnel.qydev.com 域名為例:
3、如果嫌手機上測試麻煩,可以使用微信官方提供的web開發者工具直接在瀏覽器中進行除錯。
    前提是需要在微信公眾號中繫結開發者賬號:登入公眾號-開發者工具-進入web開發者工具-繫結web開發者微信賬號
    使用說明及下載地址:https://mp.weixin.qq.com/wiki?action=doc&id=mp1455784140&t=0.7272727088156665&token=&lang=zh_CN#6

網頁授權獲取使用者基本資訊

    @Test
    public void testAuthenticationUrl(){
        String url = MpOAuth2s.defaultOAuth2s().authenticationUrl("http://wxtest.gzriver.com/oS-I8EwVL9X.view", "snsapi_userinfo");
        System.out.println(url);
        Assert.assertNotNull(url);
    }
通過轉發形式微信驗證頁面
	@RequestMapping(value = { "/xxx" })
	public ModelAndView testOrder(HttpSession httpSession) {
		ModelAndView modelView = new ModelAndView();
		
		String url = MpOAuth2s.defaultOAuth2s().authenticationUrl(StringUtils.generateWechatAuthUrl("xxx"),
					"xxx");
			// 轉到微信驗證頁面
			return new ModelAndView("redirect:" + url);
		}


通過url訪問得到code
{
	state = ,
	code = 011ARkch0yXcSC1zgUah07uhch0ARkcp
}
  •       AccessToken accessToken = MpOAuth2s.defaultOAuth2s().getAccessToken(code);
  • accessToken = MpOAuth2s.defaultOAuth2s().refreshToken(accessToken.getRefreshToken());
  • OpenUser openUser = MpOAuth2s.defaultOAuth2s().userInfo(accessToken.getAccessToken(), accessToken.getOpenId());
     logger.debug("openUser........................." + openUser.toString());