我有一个PHP包,它作为Composer包包含在一个更大的应用程序中。
代码连接到API以检索和发送数据。
存储API凭据的一些选项是什么?请记住,该应用程序可以在多个环境中使用,每个环境都具有潜在的不同API证书,即分段、生产。
而且我不想在Git回购中存储凭据。
选项:
- 环境变量
- 在每个环境中手动创建的未提交的配置文件
- 这就是我没主意的地方
处理访问凭据不应该是API客户端包的任务。客户端获取它们的唯一方法应该是通过类方法作为参数。
这有几种口味:
$client = new ApiClient($location, $user, $password);
$client = ApiClientFactory::getInstance($location, $user, $password);
...
请注意,创建API客户端实例是包接口的一部分,因此它应该存在,并记录在案,并且不能在小更新中进行不兼容的更改。
提供凭据是使用此程序包的应用程序的任务。