微信网页授权获取code

2017年12月22日 09:44 | 1781次浏览 作者原创 版权保护

对于微信网页授权的具体详细文档请考http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html#

本案例是基于微信网页授权的一种:静默授权 

静默授权

在这里摘录一部分微信官方文档对静默授权的一些解释

1、上面已经提到,对于以snsapi_base为scope的网页授权,就静默授权的,用户无感知;
2、对于已关注公众号的用户,如果用户从公众号的会话或者自定义菜单进入本公众号的网页授权页,即使是scope为snsapi_userinfo,也是静默授权,用户无感知。

用户无感知的意思就是用户点击链接之后直接获取code,并不需要用户同意或其它操作。


条件

1,授权域名的设置

1、在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的开发者中心页配置授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加http://等协议头;

2、授权回调域名配置规范为全域名,比如需要网页授权的域名为:www.qq.com,配置以后此域名下面的页面http://www.qq.com/music.html 、 http://www.qq.com/login.html 都可以进行OAuth2.0鉴权。但http://pay.qq.com 、 http://music.qq.com 、 http://qq.com无法进行OAuth2.0鉴权

3、如果公众号登录授权给了第三方开发者来进行管理,则不必做任何设置,由第三方代替公众号实现网页授权即可

授权域名设置:公众号设置---功能设置

2,appid的获取

appid在登录微信公众平台后点击左侧菜单的“基本配置”即可查询到。通过网页授权获取code值的另一个参数便是appid(应用秘钥)


代码实现

1,请求链接设置demo如下:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx1xxxxx&redirect_uri=http://www.xxxx.con/项目名/weixin/gotestauth.do&response_type=code&scope=snsapi_base&state=1#wechat_redirect

上述字符串中只需要修改appid的值和redirect_uri值即可

2,gotestauth.do的代码如下(spring的一个controller方法)

@RequestMapping(value="/gotestauth")
public ModelAndView dataSource(HttpServletRequest request){
		System.out.println("获取的code:::::"+request.getParameter("code"));
		return null;
	}

运行项目,在微信中点击在第一步设置的请求连接,即可获得code的值,效果如下:

code值已在后台打印输出来了。


此文章本站原创,地址 https://www.vxzsk.com/412.html   转载请注明出处!谢谢!

感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程