php

在绑定开放平台下,用overtrue/wechat获取微信小程序unionid

2023-09-17

如何在绑定开放平台下,获取微信小程序unionid


1、使用小程序login获取的code,传给后端获取小程序openid的时候,将session_key也记录下来


$mini = app('wechat.mini_program');

$res = $mini->auth->session($code);

//此处的res包含了openid和session_key,如果用户本来已关注过了已绑定的公众号,此处还会返回unionid

//如果没有关注公众号,此处不会返回unionid,则需要保存session_key,在接下来的获取用户信息的时候通过后端获取unionid


2、在小程序调用getUserInfo的时候会返回加密信息,然后将加密信息中的iv和encryptData值传给后端并结合session_key进行解密,如果你满足上面的注意事项,下面解密信息中会返回unionid


$mini = app('wechat.mini_program');

$decryptedData = $mini->encryptor->decryptData($user->session_key, $request->iv, $request->encryptedData);

//此时decryptedData将会包含unionid