当前位置: 首页 > news >正文

easyWechat 5.x 复写代码 获取企业微信授权用户敏感信息

复写

     (new SocialiteManager($config))->extend('wework', function ($config) {return new \App\Extend\EasyWechat\Work\WeWork($config);});

创建的 \App\Extend\EasyWechat\Work\WeWork是我们需要复写的类

<?phpnamespace App\Extend\EasyWechat\Work;use Overtrue\Socialite\Contracts;
use Overtrue\Socialite\Contracts\UserInterface;
use Overtrue\Socialite\Exceptions\AuthorizeFailedException;class WeWork extends \Overtrue\Socialite\Providers\WeWork
{public function userFromCode(string $code): UserInterface{$token = $this->getApiAccessToken();$user = $this->getUser($token, $code);if ($this->detailed) {$detail = $this->getUserByUserTicket($user['user_ticket']);$user = $this->getUserById($user['UserId']);$user = array_merge($detail, $user);}return $this->mapUserToObject($user)->setProvider($this)->setRaw($user);}/*** @throws AuthorizeFailedException*/protected function getUserByUserTicket(string $userTicket): array{$responseInstance = $this->getHttpClient()->post($this->baseUrl . 'cgi-bin/auth/getuserdetail', ['query' => [Contracts\RFC6749_ABNF_ACCESS_TOKEN => $this->getApiAccessToken(),],'json' => ['user_ticket' => $userTicket],]);$response = $this->fromJsonBody($responseInstance);if (($response['errcode'] ?? 1) > 0 || empty($response['userid'])) {throw new AuthorizeFailedException((string)$responseInstance->getBody(), $response);}return $response;}
}

原来的代码只支持获取用户的基本信息,通过改写,支持把这两块数据合并

http://www.lryc.cn/news/112815.html

相关文章:

  • 医疗器械研发中的可用性工程实践(一)
  • LNMP搭建
  • 软件测试分类总结
  • 模糊PID(三角隶属度函数模糊化CODESYS ST代码)
  • 探索人工智能 | 计算机视觉 让计算机打开新灵之窗
  • 7.物联网操作系统互斥信号量
  • Vue - Element el-form 表单对象多层嵌套校验
  • elementUI全屏loading的使用(白屏的解决方案)
  • flutter开发实战-flutter_spinkit实现多种风格进度指示器
  • 检测文本是否由AI生成,GPT、文心一言等均能被检测
  • 【3D机甲】捏造型功能
  • 设计模式之五:单例模式
  • MATLAB的设置路径
  • Hyperledger Fabric 使用 CouchDB 和复杂智能合约开发
  • 这应该是最全的,Fiddler手机App抓包详解,看完还不会来找我...
  • 使用ubuntu-base制作根文件系统
  • springboot-mybatis的分页查询的接口
  • 网络音频终端音频编码解码终端
  • cordova 12 编译失败Could not find method compile() for arguments [com....]
  • 快速开发平台 WebBuilder 9 发布
  • GPT-5出世,需5万张H100!英伟达GPU陷短缺风暴
  • Jmeter学习和一个关于jmeter获取X-XSRF-TOKEN时的坑
  • SQL注入总结
  • Java 实现 后端分页
  • 数据结构 | 搜索和排序——排序
  • 【嵌入式环境下linux内核及驱动学习笔记-(18)LCD驱动框架1-LCD控制原理】
  • 【unity】ShaderGraph实现等高线和高程渐变设色
  • 快速修复应用程序中的问题的利器—— Android热修复
  • 什么是全局代理,手机怎么设置全局代理
  • 技术领先产品ASSAR300一一基于SAR成像的角雷达产品,助力自动泊车