laravel使用overtrue/wechat获取微信小程序unionid

需要注意的事项:
一.用户通过微信访问的小程序
二.公众号和小程序进行关联,并且都发布到公共开放平台上面,如果只有小程序是获取不倒unionid的
三.只关注小程序是不行的,还需要关注相同主体的公众号或和这个小程序有关联的网站等,才能获取到unionid

1.composer安装overtrue/wechat
2.配置好配置文件


image.png
$config = config('wechat.mini_program.default');
$mini = Factory::miniProgram($config);
//这个code值是前端访问的网址,返回的。微信返回的openid和session_key以及unionid(unionid不一定返回,openid和session_key肯定会返回把它们两个先存到用户表中)
$new_mini = $mini->auth->session($code);

3.解密信息,下面是前端请求getuserinfo那个微信接口返回的是加密信息
,需要前端把返回的iv和encryptData值传给后端并结合session_key解密信息,如果你满足上面的注意事项,下面解密信息中会返回unionid

$iv = $request->input('iv');
$encryptData = $request->input('encryptData');
$config = config('wechat.mini_program.default');
$mini = Factory::miniProgram($config);
$decryptedData = $mini->encryptor->decryptData($user->session_key, $iv, $encryptData);

你可能感兴趣的:(laravel使用overtrue/wechat获取微信小程序unionid)