公众号网页授权开发
概述
由于微信公众的所有接口均是以URL的方式提供,因此前、后端均调用;只是考虑到 AppID
、Secret
等数据的安全性,通常将这些接口放在后端调用。微信公众号网页授权具体分为以下几步:
1. 调起授权页面,获取用户授权 code
用户在此页面中进行授权,调起授权页面的动作前、后端均可完成,推荐在后端完成,以尽量保护AppID等数据的安全性;用户授权完成后,微信会自动将页面重定向到 $redirect_uri
指定的页面或接口,并带上授权完成的 code
参数;code
参数是授权成功的标志,通过授权 code
就可以获取能够访问公众号接口的 access_token
;调起授权页面的链接和接口通常如下:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirect_uri."&response_type=code&scope=".$scope."&state=123#wechat_redirect";
2. 获取能够访问公众号接口的 access_token
和 openID
access_token
是调用公众号接口的令牌,例如要获取微信用户信息,就必须先获取 access_token
;
获取 access_token
和 openID
需要提供的参数有 AppID
、Secret
和授权 code
, 如下:
"https://api.weixin.qq.com/sns/oauth2/access_token?appid=".self::$appid."&secret=".self::$secret."&code=".$code."&grant_type=authorization_code"
3. 调用公众号接口,例如:获取用户信息
获取公众号接口需要提供参数有 access_token 和 openid ,如下:
# 此接口返回微信用户信息,包括unionID等信息
https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN
详见官方文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html