【发布时间】:2017-02-22 20:24:25
【问题描述】:
我正在尝试从与 Facebook 连接的用户访问我的 AWS API Gateway。
首先,我尝试使用带有简单用户池的 Cognito(无需 Facebook 登录),我的用户可以通过发送用户名和密码登录,Cognito 向我发回我用来通过我的 API 的自动程序的 accessToken然后访问我的控制器。一切正常。
然后,我想使用 Facebook 连接到我的 API。所以我这样做了:
AWS.config.region = 'eu-west-1';
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: {myIdentityPoolId},Logins: {
'graph.facebook.com': {myFacebookToken}
}
});
AWS.config.credentials.get(function(err) {
if (err)
console.log(err);
else {
console.log("Cognito accessKeyId ", AWS.config.credentials.accessKeyId);
console.log("Cognito secretAccessKey ", AWS.config.credentials.secretAccessKey);
console.log("Cognito sessionToken ", AWS.config.credentials.sessionToken);
console.log("Cognito Identity Id ", AWS.config.credentials.identityId);
}
});
一切似乎都很好,我收到了 accessKeyId、secretAccessKey、sessionToken、一个身份 ID,但是我应该怎么做才能访问我的 API。
在我的 API 配置中,我无法仅使用用户池创建授权者,而不能使用联合实体创建授权者。
其实我不明白联合实体的目的。 如果有人可以帮助我或给我一个 facebook 连接的基本示例,那就太好了。
谢谢!
【问题讨论】:
标签: javascript amazon-web-services facebook-login amazon-cognito aws-api-gateway