标签:urlencode 点击 分享 分享图片 info 重定向 配置 技术 nbsp
搞清微信公众号授权登录的步骤步骤,我们的开发就完成了一大步
献上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());
}
微信公众号开发(5)---使用开源组件开发公众号OAuth2.0网页授权授权登录
标签:urlencode 点击 分享 分享图片 info 重定向 配置 技术 nbsp
原文地址:https://www.cnblogs.com/iscys/p/9536937.html