0

我可以使用Amazon PHP SDK 的Aws\CognitoIdentity\CognitoIdentityClient ( https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.CognitoIdentity )从Amazon Cognito获取带有Facebook 令牌的身份 ID .CognitoIdentityClient.html)。

$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 ,但在用户池的用户页面中没有任何用户记录。

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

任何帮助表示赞赏。

4

1 回答 1

0

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

于 2016-09-01T17:54:53.473 回答