微信sdk--微信支付--NFC项目 坑&笔记
微信公众号开发的环境配置
准备工作 & 微信公众平台配置
& 环境配置
微信的登录流程(即授权机制)遵循OAuth2.0标准,实现过程大致是:前端通过在微信内调用微信的接口或者域名访问等方式,获取到微信服务器计算出的code
(这个过程需要用户授权同意),客户端用这个code跟服务端换区登录凭证,当然这个code到了服务端是需要经过验证的,因为服务端也需要调用微信的接口来通过appsecret等信息的校验。
分为网页授权获取code和静默授权,以上两种机制。
1,微信网页授权是通过OAuth2.0机制实现的,在用户授权给公众号后,公众号可以获取到一个网页授权特有的接口调用凭证(网页授权access_token),通过网页授权access_token可以进行授权后接口调用,如获取用户基本信息
2、其他微信接口,需要通过基础支持中的“获取access_token”接口来获取到的普通access_token调用。
基础操作需要配置的域名
有两个地方 JS接口安全域名
和 网页授权域名
配置路径: 微信公众平台 > 公众号设置 > 功能设置
JS接口安全域名: 用户可以在设置的此域名下调用微信开放的JS服务接口
网页授权域名:用户授权登录后的回调地址必须要在此域名下
因为公众平台的域名配置需经过微信的后台验证,配置里的域名都要真实可用
,所以开发过程中,可以申请测试公众号开发,测试公众号里的各个域名配置不经过微信后台验证,可以配置成ip地址,更加方便开发。>向微信申请测试号<
下载一个微信开发者工具,开发小程序的那个就可以了,可以选择公众号项目,然后就跟浏览器很像。
开发者工具的顶部有一个输入框,输入你想调试的网页地址,然后开发者工具就会模拟这个网页在微信里打开之后的环境。
- 如果你想用你的
正式公众号信息(appID,appSecret等)
来调试你本地代码
里登录之类的功能,这时候直接更改配置的回调地址为本地或ip,然后按照官方的登录流程(用户授权后,会携带code跳转到配置的回调地址上去)是会报错的:说你的redirect_uri错误
;所以回调地址是不能改的, 这时你可以修改系统本地的hosts文件,将你正式公众号里配置的正式域名的访问 都指向你的本地127.0.0.1,然后在本地用默认端口80来启用一个服务,这时候就可以成功回调回你的本地页面。
例如:mac系统下 hosts文件的更改:
# 需要你安装vim或者vi等工具 然后直接更改文件即可
sudo vim /etc/hosts
复制代码
# 直接在最下方添加需要的配置,比如将www.baidu.com 指向本地
127.0.0.1 www.baidu.com
复制代码
- 但是有一点麻烦的是
如果你用的是mac系统
,非root用户是无法使用1024以下的端口的,这时候你就需要端口转发,问题是macOs系统在10.14之后的版本跟之前版本的操作方法是不同的,所以不如直接起个nginx代理来的方便。
# 默认的nginx配置信息地址
sudo vim /usr/local/etc/nginx/nginx.conf
复制代码
# 添加以下配置
server {
listen 80;
server_name localhost;
location / {
prosy_pass http://127.0.0.1:1024;
}
}
复制代码
待续。。。