1. 程式人生 > >微信第三方授權登陸之網站應用

微信第三方授權登陸之網站應用

    在進行微信OAuth2.在進行微信OAuth2.0授權登入接入之前,在微信開放平臺註冊開發者帳號,並擁有一個已稽核通過的網站應用,並獲得相應的AppID和AppSecret,申請微信登入且通過稽核後,可開始接入流程。
  1. 第一步:第三方發起微信授權登入請求,微信使用者允許授權第三方應用後,微信會拉起應用或重定向到第三方網站,並且帶上授權臨時票據code引數:
String appId="微信公眾號的appid";
String url="微信回撥重定向的url";
String redirect_uri=URLEncoder.encode(url,"utf-8");
String state=OpenLoginAction.calcOriState(request);
String
request_url="https://open.weixin.qq.com/connect/qrconnect?appid="+appId+"&scope=snsapi_login&redirect_uri="+redirect_uri+"&response_type=code&state="+state+"&login_type=jssdk";//URl的拼接 response.sendRedirect(request_url);//進行網路的請求
  1. 第二步:通過code獲取access_token:
String code = request.getParameter("code"
); String appId="應用的appid"; String secret="應用的金鑰"; String wx_access_url="https://api.weixin.qq.com/sns/oauth2/access_token"; String accessTokenUrl = wx_access_url+"?appid=" + appId + "&secret=" + secret + "&code=" + code + "&grant_type=authorization_code";//Url的拼接 String tokenResult = HttpUtil.httpsGet(accessTokenUrl);//進行網路的請求

3.第三步:通過code獲取access_token:
JSONObject tokenObj = JSON.parseObject(tokenResult);//在上面的基礎上獲取資訊
String accessToken = tokenObj.getString(“access_token”);//獲取access_token
String openId =tokenObj.getString(“openid”);//獲取openid
String wx_userinfo_url=”https://api.weixin.qq.com/sns/userinfo”;
String userUrl = wx_userinfo_url+”?access_token=” + accessToken + “&openid=” + openId;//url的拼接
String wxUserInfo = HttpUtil.httpsGet(userUrl);//進行網路請求