如何发送访问令牌以访问AWS服务 - BEGINNER

问题描述:

我遵循以下tutorial并获得facebook登录工作。最后,它打印出很好的accessToken如何发送访问令牌以访问AWS服务 - BEGINNER

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 }下面一行将在Cognito注册accessToken。纠正我,如果我错了。

我的问题是,我应该保存这个accessToken并把它传递当过我与AWS通信服务(例如:DynamoDB写项目或者同时增加了文件S3)?

如果是的话我该怎么做? (我几乎GOOGLE了整个网络,并没有发现这个)

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

一旦您将Cognito授予Cognito以获取某些凭据,Cognito会将其注册到该身份验证身份并返回凭证。

单凭这些凭证将映射回该令牌,因此您在访问凭证时只需提供给其他AWS客户端即可。这就是说,一旦这些凭证已经过期,您将需要让令牌更加方便,以获得更多的认证身份。 Cognito需要至少一个链接到身份验证身份的令牌来获取凭据。

+0

凭证是指'区域/应用程序ID /密钥'等?如果是的话凭证如何过期? – Illep

+0

凭证,如AWS.config.credentials.get(返回(参见http://docs.aws.amazon.com/cognito/latest/developerguide/getting-credentials.html))的AWS凭证。Cognito返回的凭据仅为有效的一个小时 –

+0

因此,如果我要访问'DynamoDB'或'S3',我应该通过在上面发布的链接中给出的内容?如果证书过期了,我会收到通知,如果是这样?我想再次延长到期日(对不起,所有这些问题,我是一个新手,我一直坚持这个问题一个星期了) – Illep