如何使用 Amazon PHP SDK 将用户添加到 Amazon Cognito 的用户池

How to add user to User Pools of Amazon Congnito with Amazon PHP SDK

我可以使用 Facebook 令牌Amazon Cognito[=36= 获取身份 ID ] 通过使用亚马逊 PHP SDK ( https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.CognitoIdentity.CognitoIdentityClient.html ) 的 Aws\CognitoIdentity\CognitoIdentityClient

$identityClient = AWS::createClient('CognitoIdentity');
$idResp = $identityClient->getId(array(
    'AccountId' => 'MY_ACCOUNT_ID',
    'IdentityPoolId' => 'MY_IDENTITY_POOL_ID',
    'Logins' => array(
        'graph.facebook.com' => $fbUser->token,
    )
));

$identityId = $idResp["IdentityId"];

我可以在 身份浏览器 Federated Identities[=]页面中看到身份 ID,但是Users页面中没有任何用户记录[=21] =]用户池.

这是预期的结果吗?如果是,我如何将用户信息添加到 User Pools 并获取它们?

感谢任何帮助。

如果您仅使用 Facebook 登录,用户将不会出现在您的用户池中。 Cognito 用户池和 Cognito 联合身份是独特的服务。将用户池视为它自己的提供者 - 从您的身份池的角度来看,它与 facebook 平行。如果你想让用户出现在你的用户池中,你需要使用用户池登录并将令牌传递到你的身份池(就像你在 facebook 上所做的那样)。请参阅我们的 developer guide 了解您需要的确切配置。