插件窝 干货文章 EasyWechat 5.5如何获取第三方平台component_verify_ticket?

EasyWechat 5.5如何获取第三方平台component_verify_ticket?

component verify ticket 第三方 955    来源:    2025-03-11

在 EasyWechat 5.5 中,获取第三方平台的 component_verify_ticket 是通过监听微信服务器推送的事件来实现的。component_verify_ticket 是微信服务器每隔10分钟推送一次的重要票据,用于验证第三方平台的身份。

以下是获取 component_verify_ticket 的步骤:

1. 配置第三方平台

首先,你需要在微信开放平台注册并配置第三方平台,获取 AppIDAppSecret,并设置消息接收的 URL。

2. 配置 EasyWechat

在 EasyWechat 中,你需要配置第三方平台的相关信息。通常,你会在 config 文件中进行配置。

$config = [
    'app_id' => 'your-app-id', // 第三方平台的 AppID
    'secret' => 'your-app-secret', // 第三方平台的 AppSecret
    'token' => 'your-token', // 第三方平台的 Token
    'aes_key' => 'your-aes-key', // 第三方平台的 EncodingAESKey

    'response_type' => 'array',

    'log' => [
        'level' => 'debug',
        'file' => __DIR__.'/wechat.log',
    ],

    'oauth' => [
        'scopes'   => ['snsapi_login'],
        'callback' => '/oauth_callback',
    ],
];

3. 监听微信服务器推送的事件

微信服务器会定期向你在开放平台设置的消息接收 URL 推送 component_verify_ticket。你需要编写代码来接收并处理这个事件。

use EasyWeChat\Factory;

$app = Factory::openPlatform($config);

$server = $app->server;

$server->push(function ($message) {
    // 处理 component_verify_ticket
    if ($message['InfoType'] === 'component_verify_ticket') {
        $componentVerifyTicket = $message['ComponentVerifyTicket'];

        // 将 component_verify_ticket 保存到数据库或缓存中
        // 例如:
        // Cache::put('component_verify_ticket', $componentVerifyTicket, 600); // 保存10分钟

        return 'success'; // 必须返回 'success' 给微信服务器
    }
});

$response = $server->serve();

$response->send();

4. 保存 component_verify_ticket

在接收到 component_verify_ticket 后,你需要将其保存到数据库或缓存中,以便后续使用。通常,component_verify_ticket 的有效期为10分钟,因此你需要定期更新它。

5. 使用 component_verify_ticket

在后续的 API 调用中,你可能需要使用 component_verify_ticket 来获取 component_access_token。你可以从缓存或数据库中读取 component_verify_ticket 并使用它。

$componentVerifyTicket = Cache::get('component_verify_ticket');

$app = Factory::openPlatform($config);

$componentAccessToken = $app->access_token->getToken($componentVerifyTicket);

总结

获取 component_verify_ticket 的关键是正确配置第三方平台,并编写代码来接收和处理微信服务器推送的事件。通过监听 component_verify_ticket 事件,你可以获取并保存这个票据,以便在后续的 API 调用中使用。

希望这个解决方案对你有帮助!如果有其他问题,欢迎继续提问。