【发布时间】:2019-09-14 09:12:05
【问题描述】:
我正在使用带有 php-openstack-sdk 的令牌身份验证调用云 API。
$openstack = new OpenStack\OpenStack([
'authUrl' => '{authUrl}',
'region' => '{region}',
'user' => [
'id' => '{userId}',
'password' => '{password}'
],
'scope' => ['project' => ['id' => '{projectId}']]
]);
但是,每个 API 调用都要求我进行身份验证(如上面的代码所示)。而不是在每个控制器功能中重复相同的身份验证代码,我该如何做一次并能够在我的控制器功能中调用$openstack?即,在我的控制器中,我可以直接使用 $openstack。
public function listServers()
{
$openstack->computeV2()->listServers();
}
【问题讨论】:
-
您需要在一个控制器的每个方法之前或所有控制器的每个方法之前调用auth代码吗?将该代码放入
__construct()。如果每个控制器都需要它,请使用父级__construct()。我假设您的控制器扩展了基础Controller。 -
未定义变量 $openstack pastebin.com/rbwCXikF
-
你应该试试中间件
标签: laravel http-token-authentication laravel-controller