微信公众号开发(5)---使用开源组件开发公众号OAuth2.0网页授权授权登录
搞清微信公众号授权登录的步骤步骤,我们的开发就完成了一大步
献上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网页授权授权登录的更多相关文章
- 微信Oauth2.0网页开放授权
网页授权获取用户基本信息 如果用户在微信中(Web微信除外)访问公众号的第三方网页,公众号开发者可以通过此接口获取当前用户基本信息(包括昵称.性别.城市.国家).利用用户信息,可以实现体验优化.用户来 ...
- 微信OAuth2.0网页授权设置一个域名需多个域名使用的问题
最近遇到一个问题,一个微信公众号,需要在多个域名上使用OAuth2.0网页授权,但微信OAuth2.0网页授权回调域名只能设置一个. 解决办法: 通过多一次的跳转,解决了微信限制回调域名只能设置一个的 ...
- 微信公众号开发(十二)OAuth2.0网页授权
OAuth允许用户提供一个令牌,而不是用户名和密码来访问它们存放在特定服务器上的数据,每一个令牌授权一个特定的网站在特定时段内访问特定的资源. 授权过程如下: 1.引导用户进入授权页面同意授权,获取c ...
- 微信公众平台开发(71)OAuth2.0网页授权
微信公众平台开发 OAuth2.0网页授权认证 网页授权获取用户基本信息 作者:方倍工作室 微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使 ...
- ***微信公众平台开发: 获取用户基本信息+OAuth2.0网页授权
本文介绍如何获得微信公众平台关注用户的基本信息,包括昵称.头像.性别.国家.省份.城市.语言.本文的方法将囊括订阅号和服务号以及自定义菜单各种场景,无论是否有高级接口权限,都有办法来获得用户基本信息, ...
- 微信公众平台开发-OAuth2.0网页授权(含源码)
微信公众平台开发-OAuth2.0网页授权接口.网页授权接口详解(含源码)作者: 孟祥磊-<微信公众平台开发实例教程> 在微信开发的高级应用中,几乎都会使用到该接口,因为通过该接口,可以获 ...
- 黄聪:微信公众平台开发OAuth2.0网页授权(转)
微信公众平台开发 OAuth2.0网页授权认证 网页授权获取用户基本信息 作者:方倍工作室 微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使 ...
- 微信公众平台开发(71)OAuth2.0网页授权-摘抄
微信公众平台开发 OAuth2.0网页授权认证 网页授权获取用户基本信息 作者:方倍工作室 微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友 ...
- 【2015上半年总结】js开源组件开发系列索引
js开源组件开发系列一索引 2015.8 by 田想兵 个人网站 从3月份进入新公司以来,时经五个月,我以平均每周1个小组件的速度,已经完成的js组件有22个之余了,已基本上全部用到实际项目中,这些小 ...
- [js开源组件开发]network异步请求ajax的扩展
network异步请求ajax的扩展 在日常的应用中,你可能直接调用$.ajax是会有些问题的,比如说用户的重复点击,比如说我只希望它成功提交一次后就不能再提交,比如说我希望有个正在提交的loadin ...
随机推荐
- redis 学习笔记3(哨兵模式下分布式锁的实现以及全局唯一id的生成)
redis实现分布式锁和全局唯一id应该是较为常见的应用. 实现基于redis的setNX,以及incr命令.还是比较简单的! 搭建环境以及配置好sping整合,做了下测试,有兴趣的载下来看看,自己做 ...
- li直接1px 像素的原因
1.由于空白节点(多由于Enter造成),li不换行就可以解决问题. Internet Explorer会忽略节点之间生成的空白节点,其它浏览器不会忽略(可以通过检测节点类型,过滤子节点) 2.完美解 ...
- pbft流程深层分析和解释(转)
<1>pbft五阶段请求解释 Request pre-prepare prepare commit 执行并reply (1)pre-prepare阶段: 主节点收到客户端请求, ...
- [C语言]流程控制, 复合赋值, 优先级, 循环控制
---------------------------------------------------------------------------------------- //单一判断 ) { ...
- Linux非常有用的命令
<判断用户是否存在,如不存在则新建> user=`grep '^admin:' /etc/passwd`if [ -z "$user" ];then groupadd ...
- js中将类数组转换为数组的几种方法
1.slice方法 最经典的方法,使用Array的slice方法,此方法如果不传参数的话会返回原数组的一个拷贝,因此可以用此方法转换类数组到数组: // 创建一个类数组对象 var alo = {0: ...
- 通过GCEASY 和 jfr 发现运行时问题
进入 /dev/shm 目录 ,gc-xxx-xx 的gc 文件 ,上次 gceasy 进行分析 另外 ,通过打开 飞行记录器 , 打开jmc 通过jmx 端口连接上去 ,并启用飞行记录器 ...
- java-学习3(jdk-环境配置)
学习java先安装jdk环境配置 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htm ...
- 服务器安装pip
1. wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6. ...
- cupp字典生成器使用
下载: clone git https://github.com/Mebus/cupp.git