pantheon-systems/customer-secrets-php-sdk

支持客户密钥项目库

1.0.1 2023-10-10 15:10 UTC

README

Early Access Build Status

此库应用于访问 Pantheon 站点密钥(目前处于 EA 阶段)。

早期访问

密钥功能目前对早期访问参与者可用。密钥功能正在积极开发中。Pantheon 的开发团队在产品处于早期访问阶段时经常推出新功能。请访问 Pantheon Slack 频道(如果您还没有账户,请先注册账户)以了解如何报名参加我们的早期访问计划。请查阅 Pantheon 的软件评估许可条款,了解有关访问我们软件的更多信息。

安装

使用 composer 安装

composer require pantheon-systems/customer-secrets-php-sdk

用法

在您的 PHP 代码中,执行以下操作

use PantheonSystems\CustomerSecrets\CustomerSecrets;

$client = CustomerSecrets::create()->getClient();
$secret = $client->getSecret('foo');
$secret_value = $secret->getValue();

// You could also get all of your secrets like this:
$secrets = $client->getSecrets();

请参阅包含的类和内部文档以获取更多示例和使用案例。

注意:目前只实现了 get。您应通过 terminus 使用 Terminus Secrets Manager 处理您的密钥。

请参阅我们的详细 DrupalWordPress 示例,以获取更详细的全流程示例。

本地环境使用

SDK 包含一个 CustomerSecretsFakeClient 实现,当 SDK 在 Pantheon 基础设施之外运行时使用。此客户端使用一个密钥 json 文件来构建密钥信息,模拟使用 Secrets 服务在平台上发生的情况。

要获取此文件,您应使用 插件 命令 secret:site:local-generate,然后设置一个名为 CUSTOMER_SECRETS_FAKE_FILE 的环境变量到您的本地环境(如果您正在运行 dockerized 环境,则为 docker 容器),并使用文件绝对路径作为值。

Lando 示例

要使用 lando 设置此,您应修改您的 .lando.yml 如下

services:
  appserver:
    overrides:
      environment:
          CUSTOMER_SECRETS_FAKE_FILE: /app/secrets.json

然后,按照以下方式生成密钥文件

terminus secret:site:local-generate --filepath=./secrets.json

然后,重新构建 lando 应用程序

lando rebuild -y

然后,您将通过 SDK 使用您的密钥。

限制

此 SDK 只会读取作用域为 web 的密钥。密钥在服务器上缓存 15 分钟,因此如果您修改了网站密钥,您应该等待(最多)那么长时间。