我正在为已经使用 AWS Cognito 用户池的 Angular2 应用程序实施 Facebook 身份验证。
使用 ngx-facebook ( https://github.com/zyra/ngx-facebook ) 我已经设法使用 Facebook 和 Cognito 身份池对自己进行身份验证:
loginWithFacebook(): void {
AWS.config.update({region:AWS_CONFIG.REGION});
this.fb.login()
.then((response: LoginResponse) => {
console.log(response.authResponse.accessToken);
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: AWS_CONFIG.IDENTITY_POOL_ID,
Logins: {
'graph.facebook.com': response.authResponse.accessToken
}
});
AWS.config.credentials.refresh((error) => {
if (error) {
console.error(error);
} else {
console.log('Successfully logged in');
}
});
})
.catch((error: any) => console.error(error));
}
但是现在:如何将 Facebook 用户与现有的用户池集成?
有用于登录和注册用户池的功能,最佳解决方案显然也是为 Facebook 用户使用现有功能。
后端是无服务器的(Lambdas/API 网关),并使用连接到现有用户池的 Authorizer。