我是靠谱客的博主 调皮棒球,最近开发中收集的这篇文章主要介绍微信网页授权访问实现方式,根据授权获取微信openid_新维护1.引入微信API开发工具包举例:网页授权的url组装获取用户openid和昵称,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
基于很多年前才开始研究微信公众号的时候写的微信鉴权,现在重新补一版本
1.引入微信API开发工具包
gradle:引入
compile group: 'com.github.binarywang', name: 'weixin-java-mp', version: '3.2.0'
这个是开源的微信开发工具包,封装了很多api,如果没有的接口也可以调用其get()和post()方法自己传url调用,此框架最大的好处是,调用接口只传入微信appid,开发工具包自动缓存了
token信息,不用本地缓存。
举例:网页授权的url组装
/**
* 微信获取基本信息url
* 时间:2018/8/10
*
* @param
* @param
* @return
*/
@GetMapping(value = "/getInfo/{appid}")
public ModelAndView createUrl(@PathVariable final String appid) {
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
String url = "";
try {
if (servletRequestAttributes != null) {
url = WxMpConfiguration.getMpServices().get(appid).oauth2buildAuthorizationUrl(String.format("%s/wx/redirect/%s/greet", redirectUrl, appid), WxConsts.OAuth2Scope.SNSAPI_USERINFO, System.currentTimeMillis() + "");
}
} catch (Exception e) {
e.printStackTrace();
}
return new ModelAndView("redirect:" + url);
}
菜单直接调用该方法,只需传入appid,主要是学会调用微信工具组装url的方法,所有的方法都是WxMpConfiguration.getMpServices().get(appid)的WxMpService接口开始调用的,比如组装网页授权地址就调用
oauth2buildAuthorizationUrl(String redirectURI, String scope, String state)方法返回网页授权地址,此方法返回的url微信会向重定向的地址接口拼装code参数作为验证。本文跳转地址如下:
获取用户openid和昵称
@GetMapping("/greet")
public void greetUser(@PathVariable final String appid, String code) {
try {
logger.info("重定向code:" + code);
if (StringUtils.isBlank(code)) {
logger.info("重定向code为null");
return;
}
WxMpService mpService = WxMpConfiguration.getMpServices().get(appid);
//获取token
WxMpOAuth2AccessToken accessToken = mpService.oauth2getAccessToken(code);
//获取用户信息包括openid
WxMpUser user = mpService.oauth2getUserInfo(accessToken, null);
logger.info("用户的openid:{}",user.getOpenId());
logger.info("用户的昵称:{}",user.getNickname());
} catch (Exception e) {
e.printStackTrace();
}
}
总结:微信用户鉴权到此结束,还要小程序,微信企业号,欢迎咨询探讨。
最后
以上就是调皮棒球为你收集整理的微信网页授权访问实现方式,根据授权获取微信openid_新维护1.引入微信API开发工具包举例:网页授权的url组装获取用户openid和昵称的全部内容,希望文章能够帮你解决微信网页授权访问实现方式,根据授权获取微信openid_新维护1.引入微信API开发工具包举例:网页授权的url组装获取用户openid和昵称所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复