搞清微信公众号授权登录的步骤步骤,我们的开发就完成了一大步
献上github 地址: https://github.com/Wechat-Group/weixin-java-tools/wiki/MP_OAuth2%E7%BD%91%E9%A1%B5%E6%8E%88%E6%9D%83
第一步:需要在微信后台配置:注意,只填写自己的域名
2.配置完毕后,构建网页授权url,配置重定向地址
3.当用户同意授权后,会回调所设置的url并把authorization code传过来
4, 拿到这个code 获得access token,与openid
5.拿到之后,进行微信请求就可以拿到信息了
@Autowired private WxMpInMemoryConfigStorage config; @Autowired private WxMpService wxMpService; @RequestMapping("/WxOauthLogin") public void wxxLogin(HttpServletResponse response) throws IOException { //我们可以将config配置在xml文件中管理 config.setAppId("wx426aad126775582c"); config.setSecret("d79b69215c50cee0c848415eb34c659a"); wxMpService.setWxMpConfigStorage(config); String redirectURI="http://ea40c4fc.ngrok.io/Wxredirect"; /** * 构造微信重定向地址 * url不用我们进行urlencode * */ String url=wxMpService.oauth2buildAuthorizationUrl(redirectURI, WxConsts.OAuth2Scope.SNSAPI_USERINFO, null); System.out.println("重定向地址------->"+url); response.sendRedirect(url); } //**在用户点击授权后会触发下面的方法,即重定向的地址,必须在微信中打开哦**// @RequestMapping("/Wxredirect") public void WxRedirect(String code,HttpServletResponse response) throws WxErrorException, IOException { System.out.println("已经重定向到我这里了---success"); System.out.println("code--->"+code); /*当用户同意授权后,会回调所设置的url并把authorization code传过来 * ,然后用这个code获得access token,其中也包含用户的openid等信息 */ WxMpOAuth2AccessToken wxMpOAuth2AccessToken = wxMpService.oauth2getAccessToken(code); /* * 获取用户的基本信息 */ WxMpUser wxMpUser = wxMpService.oauth2getUserInfo(wxMpOAuth2AccessToken, null); System.out.print("用户的基本信息"+wxMpUser); /* * 业务逻辑处理,自己看自己的业务 */ @Cleanup PrintWriter writer =response.getWriter(); writer.write(wxMpUser.toString()); }
原创打造,多多指教