overtrue/wechat 相关笔记

Laravel tytrock ⋅ 于 2020-08-01 15:41:08 ⋅ 3904 阅读

1、绑定开放平台下,获取微信小程序unionid

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

$mini = app('wechat.mini_program');
$res = $mini->auth->session($code);
//此处的res包含了openid和session_key,如果用户本来已关注过了已绑定的公众号,此处还会返回unionid
//如果没有关注公众号,此处不会返回unionid,则需要保存session_key,在接下来的获取用户信息的时候通过后端获取unionid

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

$mini = app('wechat.mini_program');
$decryptedData = $mini->encryptor->decryptData($user->session_key, $request->iv, $request->encryptedData);
//此时decryptedData将会包含unionid


回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter