微信网页授权的制作步骤
服务号中的网页授权
网页授权的目的是获取微信用户的 openid
,有两种授权方式:snsapi_base
和 snsapi_userinfo
,微信用户无论是否关注了服务号前者都是静默授权,其只能获取到 openid
,而对于后者的方式,关注了服务号的用户是静默授权,没有关注的话则需要用户手动添加授权按钮。授权的过程是:
请求
oauth
发送请求https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
其中APPID
填写开发者的appid
,REDIRECT_URI
填写最终要跳转到的url
,注意要将该url
使用encoder
编码,SCOPE
填写上面的两种方式其一,STATE
可以随意填写,一般填写1
或者123
等。获取回调的
code
上面步骤1发送请求后浏览器中会跳转到回调的url
中,并且携带code
在url
中作为参数,如:redirect_uri/?code=CODE&state=STATE
,这里的STATE
没有用。使用步骤2中的
CODE
再次发送请求获取ACCESS_TOKEN
发送请求https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
获取ACCESS_TOKEN
,将步骤2中获取到的CODE
填充到该URL
中,如果使用的是第一种授权方式,那么获取到ACCESS_TOKEN
的同时也拿到了openid
,返回的结果模型是:{"access_token":"ACCESS_TOKEN","expires_in":7200,"refresh_token":"REFRESH_TOKEN","openid":"OPENID","scope":"SCOPE" }
坑
前端使用了 Angular
,并且使用的是哈希路由,导致 url
中带有 #
,在上面第一步请求返回回调的地址中,其拼接 code
时候拼到了中间,然后瞬间被 angular
跳转到默认路径中,导致后面获取不到 code
,也就无法执行第三步来获取 ACCESS_TOKEN
,如下图:
上面一个地址是服务器返回的回调地址瞬间值,很快被重置为下面的地址,导致前端获取不到 code
,自然无法获取到 ACCESS_TOKEN
。那么要解决这个问题需要将 angular
路由修改为非哈希模式。
微信网页授权的制作步骤相关推荐
- php怎么开发微信网页,PHP实现微信网页授权开发的步骤
这篇文章主要为大家分享了PHP实现微信网页授权开发教程,开发者可以通过授权后获取用户的基本信息,感兴趣的小伙伴们可以参考一下 微信网页授权是服务号才有的高级功能,开发者可以通过授权后获取用户的基本信息 ...
- ajax 微信code获取_微信网页授权——获取code、access_token、openid,及跨域问题解决...
首先在微信开发文档中有提到微信网页授权的操作步骤: 第一步:用户同意授权,获取code 在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认拥有scope参数中 ...
- 微信公众号网页授权登录完整步骤版学不会你打我....
微信点击授权登录 全过程版本轻松完成 第一步 注册微信测试号 具体操作步骤 第一步:用户同意授权,获取code 第二步:通过code换取网页授权access_token 第三步:拉取用户信息(需sco ...
- 微信开发---微信网页授权、JS-SDK和微信公众号的基本设置
用了好几个小时的时间,整理了一下关于公众号的思维导图,由于CSDN不能上传相对应的文件,所以萍子一一的分解开的截图附上来,希望对大家有所帮助哦~ 因为是电脑设备自动截图,又鉴于内容比较多,可能不是太清 ...
- Spring Boot 微信-网页授权获取用户信息
微信-验证服务器有效性 微信-网页授权获取用户信息 网页授权获取用户信息步骤 第一步:用户同意授权,获取code 第二步:通过code换取网页授权access_token 第三步:拉取用户信息(需sc ...
- 微信公众号开发__微信网页授权并获取用户基本信息(是否关注公众号、头像、昵称等)
本人最近要做微信公众号网页开发的项目,其中有个需求是判断用户是否关注公众号,由于之前没有接触过微信授权的东西,所以提前开始做调研.在度娘上看了好多博客.百度知道.百度经验.知乎问答等,还仔细阅读了微信 ...
- PHP开发之-微信网页授权获取用户基本信息
如何通过网页授权获取用户基本信息(国家,省,市,昵称)相关信息 必要条件: 1)公众号认证 2)有网页授权获取用户基本信息的权限接口 注意:最近有朋友说:在公众平台申请的测试号,会出现无法取到用户信息 ...
- 微信网页授权登录的方法
微信网页授权登录官方文档 微信网页授权登录的方法–推荐文章一 微信网页授权登录的方法–推荐文章二 总结: 微信授权方式(scope的属性值控制): 应用授权作用域,snsapi_base (不弹出授权 ...
- .NET WebAPI 微信网页授权的实现(一)前端篇
写在前面 微信网页授权登陆是微信网页开发的第一步,由于框架限制需要使用.NET WebAPI的前后端分离模式进行开发,所以经过几天的摸索,写了这个简单的微信网页授权的实现Demo,本篇文章为微信公众号 ...
最新文章
- 【Live555】liveMedia下载、配置、编译、安装、基本概念
- FFmpeg将Jpeg 编码到视频中
- 怎么在代码中打开、关闭屏幕旋转
- windows 3.x编程指南_18000 MHz 可编程衰减器
- 16、修改数据表的存储引擎
- 常用正则表达式总结(js与C#对照)
- 关于 Node.js 应用里使用 winston 进行日志记录的最佳实践
- 实现页面内多个表格在滚动时,表头浮动的效果(是同时多个表格哟)
- Shell编程:简洁的 Bash Programming 技巧(三)
- Keras中的循环层
- eclipse怎么恢复默认界面
- red5流媒体服务器网站,[RED5]red5流媒体服务器(开源免费)的安装方法
- 教你把mov格式的视频转换mp4
- MOOCad Visual Analysis of Anomalous Learing Activities in Massive Open Online Courses
- 荧光和明场图像融合 matlab,一种用于明场显微成像的多层图像融合算法
- Tensorflow keras入门教程
- C++ strcpy、strcat、strcmp和strlen的实现
- 如何理解ANOVA中的F值与P值
- ipad和android平板应用,排名前100的iPad应用中只有一半支持Android平板
- SQL更改表名,数据库名,字段名
热门文章
- 如何解决谷歌浏览器不加载Adobe Flash Player的问题
- 前端总线频率(FSB)及DDR内存频率详解,彻底让你明白CPU总线带宽与内存带宽......
- 在python中读取和写入CSV文件(你真的会吗?)
- 【软件安装】SPSS22.0安装
- Jmeter压力测试中的相关参数(QPS、TPS)
- 职场社交平台领英(LinkedIn),暂停中国境内的新用户注册
- 程序员也文艺:海燕——高尔基
- 入门微信小程序开发(三)数据绑定的几种用法
- LFLytroDecodeImage-从原始lenslet图像解码Lytro光场
- 高速总线之一:XAUI 接口