You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WordPress中访问Keyring管理的凭据?

如何通过Keyring获取存储的Gmail OAuth令牌

完全不需要手动查询posts表,Keyring提供了专门的API来安全获取已存储的凭据——这是官方推荐的方式,既避免了直接操作数据库的安全风险,也能兼容Keyring版本更新带来的存储逻辑变化。

核心获取步骤

Keyring的核心函数是keyring_get_item(),按以下流程获取令牌即可:

  1. 确认凭据的组名与名称
    配置Gmail OAuth时,你会指定凭据的group(比如google)和name(比如gmail_oauth);如果是默认配置,通常会以服务标识作为组名,以应用名称作为凭据名称。

  2. 调用API提取令牌
    使用示例代码:

    // 替换为你实际的组名和凭据名称
    $credential = keyring_get_item('google', 'gmail_oauth');
    
    if ($credential) {
        // 获取可用的访问令牌
        $access_token = $credential->data['access_token'];
        // 获取刷新令牌(用于令牌过期后重新获取)
        $refresh_token = $credential->data['refresh_token'];
        // 获取令牌过期时间戳
        $expires_at = $credential->data['expires'];
    }
    

辅助排查方法

如果不确定目标凭据的组名或名称,可以用keyring_get_items()列出所有存储的凭据,快速定位目标:

$all_credentials = keyring_get_items();
foreach ($all_credentials as $item) {
    echo "组:{$item->group} | 名称:{$item->name} | 类型:{$item->type}\n";
}

重要提醒

不要直接读取posts表:Keyring存储的凭据是加密状态,直接从数据库字段拿到的是密文,无法直接用于API调用;同时Keyring的存储结构可能随版本调整,直接操作数据库会导致代码兼容性极差。

内容的提问来源于stack exchange,提问作者Alana Storm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 12:39:51