通过 Laravel GuzzleHTTP 发出 POST 令牌身份验证请求
Make a POST request for Token Authentication via Laravel GuzzleHTTP
如何通过Laravel HTTP 请求获取令牌认证或sk/ak 认证?我为此提取了第 3 方包 GuzzleHTTP。
https://support-intl.huaweicloud.com/api-ecs/en-us_topic_0124306062.html
这是我试过的,
public function postToken() {
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', url('https:// ecs.af-south-1.myhuaweicloud.com/v3/auth/tokens'), [
{
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"name": "username",
"password": "mypassword",
"domain": {
"name": "mydomain"
}
}
}
},
"scope": {
"project": {
"name": "projectname"
}
}
}
}
]);
}
错误是
syntax error, unexpected '{', expecting ']'
您的代码中有一个额外的 }
。
public function postToken() {
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', url('https:// ecs.af-south-1.myhuaweicloud.com/v3/auth/tokens'), [
{
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"name": "username",
"password": "mypassword",
"domain": {
"name": "mydomain"
}
}
}
},
"scope": {
"project": {
"name": "projectname"
}
}
}
} // HERE IS THE PROBLEM
]);
}
删除它,您就可以开始了。
这是一个更容易阅读的版本。如果您按照缩进,就更容易发现这种错误。
public function postToken() {
$client = new \GuzzleHttp\Client();
$response = $client->request(
'POST',
url('https:// ecs.af-south-1.myhuaweicloud.com/v3/auth/tokens'),
[
{
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"name": "username",
"password": "mypassword",
"domain": {
"name": "mydomain"
}
}
}
},
"scope": {
"project": {
"name": "projectname"
}
}
}
]
);
}
您的请求语法错误。
这样做:
$response = $client->request('POST', url('https:// ecs.af-south-1.myhuaweicloud.com/v3/auth/tokens'), [
'json'=>[
"auth"=> [
"identity"=> [
"methods"=> [
"password"
],
"password"=> [
"user"=> [
"name"=> "username",
"password"=> "mypassword",
"domain"=> [
"name"=> "mydomain"
]
]
]
],
"scope"=> [
"project"=> [
"name"=> "projectname"
]
]
]
]
]);
如何通过Laravel HTTP 请求获取令牌认证或sk/ak 认证?我为此提取了第 3 方包 GuzzleHTTP。
https://support-intl.huaweicloud.com/api-ecs/en-us_topic_0124306062.html
这是我试过的,
public function postToken() {
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', url('https:// ecs.af-south-1.myhuaweicloud.com/v3/auth/tokens'), [
{
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"name": "username",
"password": "mypassword",
"domain": {
"name": "mydomain"
}
}
}
},
"scope": {
"project": {
"name": "projectname"
}
}
}
}
]);
}
错误是
syntax error, unexpected '{', expecting ']'
您的代码中有一个额外的 }
。
public function postToken() {
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', url('https:// ecs.af-south-1.myhuaweicloud.com/v3/auth/tokens'), [
{
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"name": "username",
"password": "mypassword",
"domain": {
"name": "mydomain"
}
}
}
},
"scope": {
"project": {
"name": "projectname"
}
}
}
} // HERE IS THE PROBLEM
]);
}
删除它,您就可以开始了。
这是一个更容易阅读的版本。如果您按照缩进,就更容易发现这种错误。
public function postToken() {
$client = new \GuzzleHttp\Client();
$response = $client->request(
'POST',
url('https:// ecs.af-south-1.myhuaweicloud.com/v3/auth/tokens'),
[
{
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"name": "username",
"password": "mypassword",
"domain": {
"name": "mydomain"
}
}
}
},
"scope": {
"project": {
"name": "projectname"
}
}
}
]
);
}
您的请求语法错误。
这样做:
$response = $client->request('POST', url('https:// ecs.af-south-1.myhuaweicloud.com/v3/auth/tokens'), [
'json'=>[
"auth"=> [
"identity"=> [
"methods"=> [
"password"
],
"password"=> [
"user"=> [
"name"=> "username",
"password"=> "mypassword",
"domain"=> [
"name"=> "mydomain"
]
]
]
],
"scope"=> [
"project"=> [
"name"=> "projectname"
]
]
]
]
]);