【发布时间】:2016-01-17 23:40:05
【问题描述】:
我一直在尝试让 Google Sign-In 通过 JS SDK 与 Cognito 一起使用。我一直在阅读文档:http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityCredentials.html
下面的代码在我的函数中,一旦我从 Google 获得回调,它就会运行。我已验证我已通过 Google 登录并拥有 access_token。根据文档,如果角色是通过 cognito 配置的,我应该只需要角色名称,这样它就可以自动找出池 ID。它是什么。该函数调用get并成功返回。
现在我不明白的是两件事:
1) 一旦调用 get 方法,我不应该在 Cognito 的池中看到一个新身份吗?我没有通过 cognito 看到任何登录信息。我什么时候应该在仪表板上通过 cognito 看到登录信息?
2) 现在尝试使用 AWS 来访问特定资源,例如可能读取 S3 存储桶或由于身份验证而失败,如果问题 #1 出现问题,这将是有意义的。
我猜我在这里遗漏了一些简单的东西,因为任何帮助都将不胜感激。我还查看了此链接:http://docs.aws.amazon.com/AWSJavaScriptSDK/guide/browser-configuring.html 并尝试使用 WebIdentityToken,但没有成功。
AWS.config.region = 'us-east-1';
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: '<POOL ID>',
Logins: {
'accounts.google.com': googleUser.wc.access_token
}
});
// Obtain AWS credentials
AWS.config.credentials.get(function(){
// Credentials will be available when this function is called.
var accessKeyId = AWS.config.credentials.accessKeyId;
var secretAccessKey = AWS.config.credentials.secretAccessKey;
var sessionToken = AWS.config.credentials.sessionToken;
console.log("accessKeyId: " + accessKeyId);
});
【问题讨论】:
标签: javascript amazon-web-services google-oauth amazon-cognito