亚马逊Cognito facebook登录Angular 2

时间:2017-08-30 06:26:36

标签: angular facebook-login aws-cognito amazon-cognito-facebook

我是Amazon AWS cognito的新手。有人可以帮助在cognito上实现facebook登录。我完成了cognito登录facebook的步骤,并将该访问令牌发送给了cognito。这是我的代码。

fblogin() {
    this.fb.login()

    .then((res: LoginResponse) => {
      console.log('cognito identitypole-->',CognitoUtil._IDENTITY_POOL_ID);
        AWS.config.credentials = new AWS.CognitoIdentityCredentials({
            IdentityPoolId: CognitoUtil._IDENTITY_POOL_ID,
            Logins: {
            'graph.facebook.com': res.authResponse.accessToken,                
            }                
        });            

    })
    .catch(this.handleError);
}

在此之后,我不知道如何使用角度2在cognito中注册。

使用angular 2

实现facebook注册和登录cognito的任何想法

提前致谢

1 个答案:

答案 0 :(得分:0)

Cognito具有User PoolFederated Identities。如果您使用的是联合身份,则不会在User Pool

中创建用户

Federated Identities就像在没有帐户的情况下为用户提供了对您服务的访问权限。

对于通过AWS Amplify进行联合登录(客户端)

Auth.federatedSignIn({
    domain,
    {
        token,
        identity_id, // Optional
        expires_at: expiresIn * 1000 + new Date().getTime() // the expiration timestamp
    },
    user
}).

链接:https://aws-amplify.github.io/docs/js/authentication

我建议将AWS Amplify用于客户端AWS Cognito。

如果您希望用户在通过Facebook或Google注册时在用户池中拥有一个帐户,我认为Cognito的Hosted UI支持该帐户,但是如果您有自己的UI,您将采用另一种方法。 一个与此有关的问题:Using Cognito User Pools, without Cognito Federated Identities(identity pools)