前面讲到 前端对接微信公众号网页开发流程,前期配置,本篇文章主要详细介绍关于公众号的授权对接。

一、引入微信js-sdk

在需要调用 JS 接口的页面引入如下 JS 文件

http://res.wx.qq.com/open/js/jweixin-1.6.0.js

如需进一步提升服务稳定性,当上述资源不可访问时,可改访问:

http://res2.wx.qq.com/open/js/jweixin-1.6.0.js

二、引导授权

在调用微信的授权地址之前,需要有几个必要的参数,appid、redirect_uri、response_type、scope、#wechat_redirect,下面的链接是授权地址,下面介绍下几个参数的获取及作用。微信网页授权文档

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect


1.appid
appid一般通过接口获取得到,因为在代码里尽量不要出现明文的appid

2.redirect_uri
redirect_uri为授权后重定向的回调链接地址,也就是微信开发者工具地址栏的地址。

3.scope
scope为应用授权作用域,有两个参数,snsapi_basesnsapi_userinfo
snsapi_base为静默授权只能拿到用户的openid
snsapi_userinfo非静默授权,会弹出授权页面,需要用户主动授权,可以通过openid拿到用户的详细信息,如昵称、性别、所在地等

三、开始授权完整代码

怎么判断用户是否授权呢,我是根据重定向后的地址中是否含有code来作为判断条件的,也可以按照是否获取到用户信息来作为判断条件,下面代码就是完整的授权流程
1.获取redirect_uri

var locationHref = document.location.href;

2.获取地址栏路径参数

// 路径是否存参数
var array = []
var index = locationHref.indexOf("?")
// 如果本地路径存在参数则进行参数解析
if (index != -1) {var objStr = locationHref.substr(index + 1);var obj = objStr.split("&");for (var i = 0; i < obj.length; i++) {array[obj[i].split("=")[0]] = (obj[i].split("=")[1]);}
}

结果

3.判断路径是否含有参数code
判断路径是否含有参数code,如果有代表已经授权,没有则为未授权

if (array.code == undefined) {window.location = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${locationHref}&response_type=code&scope=snsapi_userinfo&state=#wechat_redirect`
}


前端对接微信公众号网页开发流程,授权对接相关推荐

  1. 前端对接微信公众号网页开发流程,前期配置

    微信公众号网页开发,其实就是我们开发的h5网页需要放到微信浏览器环境中使用,但是需要对接公众号授权,授权之后可以获取到用户的个人信息,以及可以使用公众号提供的一些API,如:图片上传.图片预览.获取位 ...

  2. 前端对接微信公众号网页开发流程,JSSDK使用

    前面两篇文章讲解了前端对接微信公众号网页开发流程,前期配置 和 前端对接微信公众号网页开发流程,授权对接,本篇文章讲解关于微信JSSDK的使用,官方文档地址 一.通过 config 接口注入权限验证配 ...

  3. 微信公众号网页开发——实用真机调试

    前言 微信公众号网页开发的真机调试一直是很头疼的事情. 原因一 微信公众号配置的JS安全域名只有三个,一个大中型的公众号这三个JS安全域名都是生产的域名,不可能预留域名用于开发和调试. 原因二 在微信 ...

  4. 微信公众号网页OAuth2.0授权登录并获取用户信息(SpringBoot实现)

    微信公众号网页OAuth2.0授权登录并获取用户信息(SpringBoot实现) 文章目录 微信公众号网页OAuth2.0授权登录并获取用户信息(SpringBoot实现) 准备工作 开发思路 具体代 ...

  5. php公众号开发配置网页域名,微信公众号网页开发授权配置流程

    1.配置 1.1 公众号配置 1.2 开发者账号配置 选择开发者工具->web开发者工具->绑定开发者微信账号. 1.3 开发域名配置 选择公众号设置->功能设置,根据需求设置:业务 ...

  6. 微信公众号H5开发登录授权流程

    很久没写博客了,最近实在是太忙,有太多东西想写想记录.今天写个关于微信登录的过程吧,这次项目是我第一次写关于微信的东西,这个登录授权搞了半天.但总算是把流程搞明白了,先附上微信官方文档 微信公众平台 ...

  7. 有关于微信公众号网页开发的流程(自己的看法)

    微信官方文档 (真的很详细) 第一步: 网页授权回调域名 网页服务内容 这个网页回调域名是非常关键的,后面会讲解这个回调的域名的使用,回调字面意思就是会跳转的. 第二步: 使用微信官方的api进行co ...

  8. 微信公众号网页开发:播放视频,在列表中滑动会脱离文档流

    项目场景: antd移动端端开发 微信公众号移动端网页开发 问题描述: video-react有问题,在跑马灯中第一次白屏,在列表中滑动会脱离文档流 原因分析: 未知 解决方案: 直接上代码 < ...

  9. 企业微信公众号网页开发之引入高德地图API

    test.jsp 页面文件 WxController.java 后端Controller层代码 WxService.java 后端Service层代码 WxDao.java 后端Dao层代码 一.JS ...

最新文章

  1. C++中的Hash容器总结
  2. usb转rj45_笔记本接口不够怎么办?先看USB-A接口能转谁
  3. mysql 多表备份_mysql备份与恢复多库多表备份
  4. 3.5k欧/m,HIIT 博士后招募,共48个项目可选
  5. 海康威视相机SDK开发(多个相机)
  6. 【渝粤教育】国家开放大学2018年春季 8038-22T实用管理基础 参考试题
  7. Netlink 0002 -- 什么是Netlink
  8. PS:学习:一:删除图片不想要的部分
  9. 二元最佳前缀码_信息与编码系列(二)最优码——Huffman码
  10. 躲避球av_躲避球HTML!
  11. 让logo设计更有设计感的几个方法
  12. 剑灵在该服务器上未获取到角色信息,白青FAQ!常见问题一网打尽
  13. win10切换输入法快捷键_软件快捷键失灵,可能是你没有安装美式键盘
  14. tplink控制上网设备_TP-LINK无线路由器怎么设置限制别人wifi网速
  15. keras+theano安装教程
  16. python2 unicode_python2 中列表中unicode转换为输出中文
  17. Redis——模拟手机验证码发送
  18. 网摘精灵的超级使用方法
  19. 计算机操作员培训方案,计算机操作员培训计划.doc
  20. 中国百大诗词爱情名句

热门文章

  1. 金融区块链标准规范解读
  2. iVMS-4200 Vs区别_【欧国联:德国 VS 瑞士】体育足球赛事专业紅單推荐
  3. 记一次Process finished with exit code 1 项目异常
  4. 页面里的在线实时聊天实现
  5. Tyrion 中文文档(含示例源码)
  6. 一升的眼泪剧情和图片(转贴)
  7. 仿京东App分类页面的实现
  8. MSI驱动指南HOWTO
  9. 启动oracle时报错:PuTTY X11 proxy: unable to connect to forwarded X server: Network error:
  10. 3D游戏模型教程系列:3D max安装