ブラウザでは、Facebookログイン後にstatusChangeCallbackが呼び出されます。すべてが成功する。 CognitoはIdentity IDを返します。ただし、userPool.getCurrentUser()はnullを返します。 Cognitoは、認証されたユーザーがいるとは考えていません。どうすれば修正できますか?ありがとう。AWS Cognito Facebook経由の認証は成功しましたが、getCurrentUserはnullを返します
function statusChangeCallback(response) {
if(response.status == 'connected' && response.authResponse) {
testAPI()
console.log("FB statusChangeCallback", JSON.stringify(response))
AWSCognito.config.credentials = new AWSCognito.CognitoIdentityCredentials({
IdentityPoolId : '<%=process.env.AWS_USERPOOLGUID%>', // your identity pool id here
Logins : {
'graph.facebook.com': response.authResponse.accessToken
}
});
console.log(JSON.stringify(AWSCognito.config.credentials))
AWSCognito.config.region = '<%= process.env.AWS_REGION%>'
AWSCognito.config.credentials.refresh(function(error) {
if (error) {
console.error("AWSCognito.config.credentials.get", error);
} else {
console.log("Cognito Identity Id", AWSCognito.config.credentials.identityId);
console.log('Successfully logged!');
var cognitoUser = userPool.getCurrentUser();
console.log('cognitoUser', cognitoUser);
}
});
}
}
Facebookログインボタンをクリックした後に認証されたセッションとユーザーを保護する方法については説明していませんが、Username + Passwordの組み合わせログインについては説明していません。 –