2

我按照以下教程进行了facebook登录并开始工作。最后它会打印出accessToken哪个很棒。

FB.login(function (response) {

  // Check if the user logged in successfully.
  if (response.authResponse) {

    console.log('You are now logged in.');

    // Add the Facebook access token to the Cognito credentials login map.
    AWS.config.credentials = new AWS.CognitoIdentityCredentials({
      IdentityPoolId: 'IDENTITY_POOL_ID',
      Logins: {
        'graph.facebook.com': response.authResponse.accessToken
      }
    });

    // Obtain AWS credentials
    AWS.config.credentials.get(function(){
        // Access AWS resources here.
             console.log('Access Token is '+ AWS.config.credentials.identityId);
         var s3= new AWS.s3();

    });

  } else {
    console.log('There was a problem logging you in.');
  }

});

我相信以下代码Logins: { 'graph.facebook.com': response.authResponse.accessToken }行将注册accessTokenin Cognito。如果我错了,请纠正我。

我的问题是,我是否应该accessToken在与服务通信时保存并传递它AWS(例如:DynamoDB写入 Item 或添加文件时S3)?

如果是这样,我该怎么做?(我几乎用谷歌搜索了整个网络,但没有找到)

** 注意:我认为 a 的目的accessToken是在用户请求访问AWS服务时增加一些安全性。那么在那种情况下,我该如何使用accessToken来验证?

4

1 回答 1

0

一旦您在调用中将其提供给 Cognito 以获取一些凭据,Cognito 就会将其注册到该经过身份验证的身份,并将其返回范围为该身份验证的凭据。

仅这些凭证将映射回该令牌,因此您在访问其他 AWS 客户端时只需提供这些凭证即可。话虽如此,一旦这些凭据过期,您将需要让令牌仍然方便,以便为该经过身份验证的身份获取更多信息。Cognito 需要至少一个与经过身份验证的身份相关联的令牌来获取它的凭据。

于 2016-08-04T18:12:37.257 回答