最近在做一个嵌在公众号里的H5项目,里面涉及到了微信支付,属于公众号支付,需要拿到用户的openid,涉及到了网页授权。
如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。
步骤
- 引导用户进入授权页面同意授权,获取code
- 通过code换取网页授权access_token(与基础支持中的access_token不同)
- 如果需要,开发者可以刷新网页授权access_token,避免过期
通过网页授权access_token和openid获取用户基本信息(支持UnionID机制)
详细介绍可以参考官网文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
实践步骤:
1、配置回调域名
在微信公众平台官网“开发–接口权限–网页服务–网页账号—网页授权获取用户基本信息”中配置回调域名(注:是一个字符串,不是URL,所以不要以http://等协议开头)
2、用户同意授权,获取code
引导用户打开如下页面:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
注:(1) 如果提示连接无法访问,请检查参数是否填写错误,是否拥有scope参数对应的权限作用域权限。
(2)在发起授权请求时,微信会对授权链接做正则匹配校验,如果链接的参数顺序不对,授权页面将无法访问。
参数说明:
<