使用接口测试号:
https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login&token=&lang=zh_CN
可以申请测试号进行开发。(网页授权回调页面域名在下方接口列表中配置,不容易找)
公众号开发配置流程:
开发-》基本配置
开通成为开发者,获取appid和appsecret
设置-》公众号设置-》功能设置
JS接口安全域名:
js调用微信js-sdk时要用到,一般为前端域名
网页授权域名:
微信授权登录时要用到,一般为前端域名
设置-》安全中心-》IP白名单
获取access_token时要用到,一般为后端接口IP
js-sdk使用:
首先要配置JS安全域名;
config项从服务端获取,流程大概为:
通过appid和appsecret获取access_token
通过access_token获取js_ticket
传入参数计算签名
把参数和签名返回给前端
access_token和js_ticket都有调用上限,缓存7200秒
url参数需要前端传入或者从$_REQUEST中获取。参与签名的url参数是没有encode过的,如果前端传入的urlencode过需要decode以后使用。
附签名算法:
public static function getJsTicketSign($params)
{
ksort($params, SORT_STRING);
$sParam = '';
foreach ($params as $key => $value) {
$sParam .= $key . '=' . $value . '&';
}
$sParam = rtrim($sParam, '&');
return sha1($sParam);
}
···
登录授权:
首先配置登录授权域名;
前端访问微信登录链接
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
有两种登录方式,静默登录(snsapi_base)和授权登录(snsapi_userinfo),登录完成后跳转回来的url地址会带上code参数和state参数
用code来获取用户的openid和access_token。授权登录后就能通过access_token获取到用户的头像昵称等详细信息。