用WxJava实现微信公众号OAuth2.0授权
- 用户确认授权后,授权页面重定向到redirect_uri,同时带上code参数
- 引入WxJava授权模块的依赖
<dependency> <groupId>com.github.binarywang</groupId> <artifactId>weixin-java-mp</artifactId> <version>最新版本号</version> </dependency>
wx.mp.appId=your_app_id wx.mp.secret=your_app_secret wx.mp.redirectUri=your_redirect_uri
- 构造OAuth2授权的URL
构造OAuth2授权的URL,包括以下步骤:
-
调用wxService.getOAuth2Service()方法,获取WxMpOAuth2Service对象。 调用wxMpOAuth2Service.buildAuthorizationUrl()方法,构造OAuth2授权的URL。
具体实现代码如下:
WxMpOAuth2Service wxMpOAuth2Service = wxService.getOAuth2Service(); String url = wxMpOAuth2Service.buildAuthorizationUrl(redirectUrl, WxConsts.OAuth2Scope.SNSAPI_USERINFO, null);
WxMpConfigStorage wxMpConfigStorage = new WxMpInMemoryConfigStorage(); wxMpConfigStorage.setAppId("your_app_id"); wxMpConfigStorage.setSecret("your_app_secret"); WxMpService wxMpService = new WxMpServiceImpl(); wxMpService.setWxMpConfigStorage(wxMpConfigStorage);
- 重定向到授权页面
将构造好的OAuth2授权的URL重定向到授权页面。
response.sendRedirect(url);
- 授权回调页面处理逻辑
在授权回调页面中,调用WxJava提供的API接口,获取access token和用户信息。
WxMpOAuth2AccessToken accessToken = wxMpOAuth2Service.getAccessToken(code); WxMpUser wxMpUser = wxService.getUserService().userInfo(accessToken.getOpenId(), null);
结论
上一篇:
uniapp开发微信小程序-2.页面制作