Я пытаюсь создать вход с помощью AWS Cognito.
Я настроил федеративные удостоверения, добавил пул пользователей и добавил адрес электронной почты в пул пользователей.
Я создал PHP-код для getID и OpenIDToken.
Это хорошее начало, но это работает только при неаутентифицированных настройках. Я хочу иметь возможность войти в систему, используя имя пользователя и пароль, которые ему были заданы.
Кажется, я не могу найти какую-либо информацию, которую я могу понять, чтобы заставить это работать.
Как мне войти в систему из пула пользователей, используя PHP и AWS API v3?
Вот код, который я сейчас имею:
include "vendor/autoload.php";
use Aws\CognitoIdentity\CognitoIdentityClient;$identityClient = CognitoIdentityClient::factory(array(
'region' => 'us-east-1',
'version'=>'latest',
'credentials' => array(
'key' => $awsuser,
'secret' => $awssecret,
)
));$idResp = $identityClient->getId(array(
'AccountId' => 'XXXXXXXXXXX',
'IdentityPoolId' => 'us-east-1:0689a59d-d385-4f80-88ce-XXXXXXXXXXXX',
));
$identityId = $idResp["IdentityId"];
echo $identityId;$tokenResp = $identityClient->getOpenIdToken(array(
'IdentityId' => $identityId
));
$token = $tokenResp["Token"];
echo $token;
Извините за путаницу. Когда вы войдете в Cognito User Pools, вы получите несколько токенов. Одним из них является токен id, вам нужно передать его в карту имен входа клиента федеративных идентификаторов Cognito с ключом «cognito-idp..amazonaws.com /». Более подробная информация доступна в руководство разработчика. Вы также можете найти это Сообщение блога полезно, есть примеры того, как установить логины с помощью PHP SDK.
Других решений пока нет …