gpt4 book ai didi

php - 如何在不使用路径的情况下设置 GOOGLE_APPLICATION_CREDENTIALS

转载 作者:行者123 更新时间:2023-12-04 13:46:02 25 4
gpt4 key购买 nike

我正在开发一个需要使用 Google OAUTH 2 进行服务器到服务器应用程序的 CMS 模块。根据official manual需要设置一个带有 .json 键路径的环境变量,如下所示:

putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json');

这是棘手的部分。如果我在独立的 Web 应用程序中使用它,那么不会有任何问题,但是因为我正在处理 CMS 模块,将该文件存储在驱动器上或创建与使用相关的任何类型的 Hook 这个文件的内容会构成潜在的安全威胁,因为我已经看到了如何通过使用另一个模块偷偷窃取 key 的内容。

我想将此文件的内容存储在数据库中,问题是:有没有一种方法可以在不使用路径的情况下以某种方式设置 GOOGLE_APPLICATION_CREDENTIALS 的环境值?

最佳答案

可以在初始化客户端时使用作为配置选项接受的 keyFile 键。

来自官方 api 文档的示例代码 - https://github.com/googleapis/google-cloud-php

require 'vendor/autoload.php';

use Google\Cloud\Core\ServiceBuilder;

// Authenticate using a keyfile path
$cloud = new ServiceBuilder([
'keyFilePath' => 'path/to/keyfile.json'
]);

// Authenticate using keyfile data
$cloud = new ServiceBuilder([
'keyFile' => json_decode(file_get_contents('/path/to/keyfile.json'), true)
]);

可以使用任何谷歌客户端代替 ServiceBuilder。

关于php - 如何在不使用路径的情况下设置 GOOGLE_APPLICATION_CREDENTIALS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48366036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com