通过AWS Cognito用户池使用Facebook登录

Kar*_*son 6 amazon-cognito aws-sdk amazon-cognito-facebook

我正在为已经使用AWS Cognito用户池的Angular2-app实施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));
      }
Run Code Online (Sandbox Code Playgroud)

但是现在:如何将Facebook用户与现有用户池集成在一起?

有用于登录和注册用户池的功能,最佳的解决方案显然是对Facebook用户也使用现有功能。

后端是无服务器的(Lambdas / API网关),并使用连接到现有用户池的授权器。

小智 -2

而不是.refresh打电话.get

喜欢:

AWS.config.credentials.get((error) => ...
Run Code Online (Sandbox Code Playgroud)