为了能够使用任何 API 请求,您首先需要正确设置您的凭据。在服务器端和 EC2 实例之外进行操作,您需要像这样提供您的 AWS ACCESS KEY 和 AWS SECRET ACCESS KEY、应用程序客户端 ID、应用程序客户端密钥和用户池 ID
$args = [
'credentials' => [
'key' => 'AAAAAAAAAA',
'secret' => 'abacaaswfas',
],
'region' => 'eu-central-1',
'version' => 'latest',
'app_client_id' => '3asd123adfs1231sdfs',
'app_client_secret' => '1sdf123sdfs123sdfsfsdf132fd3213',
'user_pool_id' => 'eu-central-1_aaaW2Df3',
]
否则,在您获得正确的 ID 之前,您将看到所有可能的错误。
要获取 AWS ACCESS KEY 和 AWS SECRET ACCESS KEY,请转到您的 AWS 控制台,单击您的姓名,然后转到帐户,然后再次单击您的姓名,转到“我的安全凭证”然后我猜你会找到出路的..
要获取 App 客户端 ID、App 客户端 Secret,您需要先创建用户池,然后转到 App Client 并创建一个。 (您可以在常规设置下找到池 ID)
一个简单的登录查询
$client = new CognitoIdentityProviderClient($args);
$client->adminInitiateAuth([
'AuthFlow' => 'ADMIN_NO_SRP_AUTH',
'AuthParameters' => [
'USERNAME' => YOUR_USERNAME_HERE,
'PASSWORD' => YOUR_PASS_HERE,
'SECRET_HASH' => , base64_encode(hash_hmac('sha256', YOUR_USERNAME_HERE . APP_CLIENT_ID, APP_CLIENT_SECRET, true))
],
'ClientId' => APP_CLIENT_ID,
'UserPoolId' => USER_POOL_ID,
]);
如果你让它工作,你应该能够使用文档here中列出的任何操作
注意:这适用于 API 版本 2016-04-18 和 PHP 7.1,请确保您使用的是相同版本或至少没有重大变化在假设这对你有用之前,在 API 中。
注意 2:我使用的 Id 是完全随机的 .. 但它们应该具有相同的格式。