如何发送访问令牌以访问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需要至少一个链接到身份验证身份的令牌来获取凭据。
凭证是指'区域/应用程序ID /密钥'等?如果是的话凭证如何过期? – Illep
凭证,如AWS.config.credentials.get(返回(参见http://docs.aws.amazon.com/cognito/latest/developerguide/getting-credentials.html))的AWS凭证。Cognito返回的凭据仅为有效的一个小时 –
因此,如果我要访问'DynamoDB'或'S3',我应该通过在上面发布的链接中给出的内容?如果证书过期了,我会收到通知,如果是这样?我想再次延长到期日(对不起,所有这些问题,我是一个新手,我一直坚持这个问题一个星期了) – Illep