我可以使用 Aws \ CognitoIdentity从 Amazon Cognito 获取 Facebook令牌 的身份ID Amazon PHP SDK的{CognitoIdentityClient (https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.CognitoIdentity.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"];
我可以在 联合身份 的 身份浏览器 页面中看到身份ID,但是没有 用户池 的 用户 页面中的任何用户记录。
这是预期的结果吗?如果是,我如何将用户信息添加到 用户池 并获取它们?
感谢任何帮助。
答案 0 :(得分:1)
如果您只使用Facebook登录,则用户不会显示在您的用户池中。 Cognito用户池和cognito联合身份是唯一的服务。将用户池视为自己的提供商 - 从您的身份池的角度来看,它与Facebook并行。如果您希望让用户显示在您的用户池中,您需要使用用户池登录并将令牌传递到您的身份池(就像您在Facebook上所做的那样)。有关您需要的确切配置,请参阅我们的developer guide。