2016-09-01 16 views
0

https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.CognitoIdentity.CognitoIdentityClient.html)。私は<strong>AWS CognitoIdentity CognitoIdentityClientアマゾンPHP SDKの</strong>を(使用して<strong><em>アマゾンCognito</em></strong>から<strong><em>Facebookのトークン</em></strong>との同一IDを取得することができます

$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ページをアイデンティティIDを見ることができない、ないが、任意のユーザーレコードがユーザープールのユーザーページにあります

これは予期した結果ですか?そうであれば、どのようにユーザ情報をに追加することができますか?ユーザプールを取得しますか?

何か助けていただければ幸いです。

答えて

1

あなたがFacebookでのみログインした場合、ユーザーはあなたのユーザープールには表示されません。 CognitoのユーザープールとCognitoのフェデレーションIDは固有のサービスです。ユーザプールは、自分のプロバイダであると考えてください。アイデンティティプールの観点からは、Facebookと並行しています。ユーザーを自分のユーザープールに表示させたい場合は、ユーザープールにログインしてトークンをIDプールに渡す必要があります(facebookの場合と同じように)。正確な設定については、developer guideをご覧ください。

+0

PHP SDKでCognitoIdentityProviderのsignUpメソッドを使用していますが、「クライアントの秘密ハッシュを確認できません」というエラーが表示されます。私のClientIdが間違っているようですが、どこでClientIdを入手できますか?ありがとう。 –

+0

コンソールからあなたのユーザープールに生成/リンクした 'apps'から来ます。あなたはそこにIDを得ることができます。 –

+0

私はそのClientIdを設定しましたが、まだ同じエラーがあります。 '$ identityProvider = AWS :: createClient( 'CognitoIdentityProvider');' '$ result = $ identityProvider-> signUp(['ClientId' => 'ClientId'、。 ...]); ' 私は間違っていましたか? –

関連する問題