PHP Composer package credentials


PHP Composer package credentials

我有一个PHP包,它作为Composer包包含在一个更大的应用程序中。

代码连接到API以检索和发送数据。

存储API凭据的一些选项是什么?请记住,该应用程序可以在多个环境中使用,每个环境都具有潜在的不同API证书,即分段、生产。

而且我不想在Git回购中存储凭据。

选项:

  1. 环境变量
  2. 在每个环境中手动创建的未提交的配置文件
  3. 这就是我没主意的地方

处理访问凭据不应该是API客户端包的任务。客户端获取它们的唯一方法应该是通过类方法作为参数。

这有几种口味:

$client = new ApiClient($location, $user, $password);
$client = ApiClientFactory::getInstance($location, $user, $password);
...

请注意,创建API客户端实例是包接口的一部分,因此它应该存在,并记录在案,并且不能在小更新中进行不兼容的更改。

提供凭据是使用此程序包的应用程序的任务。