微信开发 (四) 微信网页授权
来源:互联网 发布:navicat 修改表中数据 编辑:程序博客网 时间:2024/06/12 01:30
微信网页授权有什么作用呢?它可以用来做获取用户的openId ,可以采用网页授权登录,免除用户登录。主要是为了获取用户的信息。
网页授权开发的第一步是在微信公众平台配置授权的域名配置的域名要求(
、授权回调域名配置规范为全域名,比如需要网页授权的域名为: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鉴权)
配置完授权的域名接下来就是:
1、引导用户进入授权页面同意授权,获取codehttps://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect这里需要注意的是redirect_uri 必须要用urlencode对链接进行处理 测试号不进行处理可以,正式号的话就不行。
redirect_url只可以传递一个参数如果要多个参数该怎么传递呢?多个参数lz是采用一个变量把所有的参数放到json里面当成一个参数:网站名字/weixin/WeiXinCommGetOpenId?weixin_outh2_params=WEIXIN_OUTH2_PARAMS
注意这个授权必须要在微信浏览器打开才可以
- 2 第二步:通过code换取网页授权access_token
这里可以获取到code以及传过来的参数一个json字符串通过code可以获取用户的openId,授权也分为两种,静默授权和非静默授权。非静默授权除了可以获取用户的openid还可以获取用户的头像。昵称等。静默授权只能获取用户的openid
附上获取用户openid的方法
/** * * @Title: getUserInfoOpenId * @Description: 获取请求用户信息的access_token * @param @param code * @param @return * @return String */ public static String getUserInfoOpenId(String code) { logger.info("getUserInfoOpenId params code"+code); String openId= ""; try { if(StringUtil.isNotEmpty(code)){ String url =WeiXinConstant.WEIXIN_ACCESS_TOKEN_URL.replace("APPID", APPID).replace("SECRET", APPSECRET).replace("CODE",code); logger.info("request accessToken from url: {}", url); String tokens= httpRequestGet(url, null); logger.info("request tokens from tokens: {}", tokens); if(StringUtil.isNotEmpty(tokens)){ JSONObject json = JSONObject.fromObject(tokens); openId = json.getString("openid"); } } } catch (Exception ex) { logger.error("fail to request wechat access token. [error={}]"+code, ex); } return openId; }
0 0
- 微信开发 (四) 微信网页授权
- 微信开发---->网页授权
- 微信开发网页授权
- 微信网页授权
- 微信网页授权
- 微信网页授权
- 微信网页授权
- 微信网页授权
- 微信网页授权
- 微信网页授权
- 微信网页授权
- 微信网页授权
- 微信网页授权
- 微信网页授权
- 微信网页授权
- 微信网页授权
- 微信公众号开发(四)--微信网页授权,获取用户信息
- 微信开发网页授权redirect_uri错误
- Android Alpha Rotate Translate Scale以及LayoutAnimaton动画组合动画家庭豪华套餐
- jquery之回调函数及jsonp
- 【认证】【法国】Canal Ready、Fransat
- 多线程进阶之一
- 条形码
- 微信开发 (四) 微信网页授权
- 关键词过滤
- 信息系统框架集成第三方产品案例
- 解析struts2中的valueStack
- 记录最小化安装的centos7虚拟机上网的配置
- mybatis批量插入
- 1012. 数字分类 (20)
- 怎么从服务器上文件拷贝下来
- 烘焙贴图(一)——贴图的基础知识