在浏览器中,在Facebook登录后,调用statusChangeCallback。一切都成功了。 Cognito甚至返回一个身份标识。但是,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登录按钮后保护已验证的会话和用户,而是解释了用户名和密码组合登录。 –