У меня есть рабочая реализация AWS PHP SDK.Операции типа $client->getUser()
работают, но $client->adminCreateUser()
и другие не работают.
Когда я звоню $client->adminCreateUser([...])
, это приводит к:
Error executing "AdminCreateUser" on "https://cognito-idp.ap-southeast-2.amazonaws.com"; AWS HTTP error: Client error: `POST https://cognito-idp.ap-southeast-2.amazonaws.com` resulted in a `400 Bad Request` response:
{"__type":"MissingAuthenticationTokenException","message":"Missing Authentication Token"}
MissingAuthenticationTokenException (client): Missing Authentication Token - {"__type":"MissingAuthenticationTokenException","message":"Missing Authentication Token"}
Линия 191 in / var / www / project / vendor / aws / aws-sdk-php / src / WrappedHttpHandler.php
Подобные сервисы вызываются из CLI (например, cognito-idp admin-create-user
) сточно такие же учетные данные работают.
Что вызывает это?
Пример:
Моя среда:
- Ubuntu 18.04
- Apache 2.4.29
- PHP 7.3
- aws / aws-sdk-php 3.92.3
.aws / учетные данные
[default]
aws_access_key_id=XXXX
aws_secret_access_key=XXXX
Я использую свои учетные данные разработчика
Пример кода:
$client = new CognitoIdentityProviderClient([
'version' => 'latest',
'region' => 'ap-southeast-2',
'credentials' => false, // Set to false to allow roles provisioned to our EC2 instances
]);
$result = $client->adminCreateUser([
'DesiredDeliveryMediums' => ['Email'],
'MessageAction' => 'RESEND',
'TemporaryPassword' => 'TemporaryPassword1234',
'UserAttributes' => [
['Name' => 'email', 'Value' => 'mailbox@domain.tld'],
],
'UserPoolId' => 'ap-southeast-2_XXXX',
'Username' => 'mailbox@domain.tld',
]);