使用Cognito访问AWS API网关,并使用JavaScript连接Facebook
我正试图从与Facebook连接的用户访问我的AWS API网关 首先,我尝试使用一个带有简单用户池的Cognito(没有Facebook登录),我的用户可以通过发送用户名和密码登录,Cognito向我发回一个accessToken,我使用它通过API的自动生成程序,然后访问我的控制器。一切正常 然后,我想使用Facebook连接到我的API。所以我这样做了:使用Cognito访问AWS API网关,并使用JavaScript连接Facebook,javascript,amazon-web-services,facebook-login,amazon-cognito,aws-api-gateway,Javascript,Amazon Web Services,Facebook Login,Amazon Cognito,Aws Api Gateway,我正试图从与Facebook连接的用户访问我的AWS API网关 首先,我尝试使用一个带有简单用户池的Cognito(没有Facebook登录),我的用户可以通过发送用户名和密码登录,Cognito向我发回一个accessToken,我使用它通过API的自动生成程序,然后访问我的控制器。一切正常 然后,我想使用Facebook连接到我的API。所以我这样做了: AWS.config.region = 'eu-west-1'; AWS.config.credentials = new AWS.Co
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连接的基本例子,那就太好了
谢谢 这个问题在《邮报》中得到了非常准确的回答。如上所述,您必须在API网关中使用IAM_AUTH,并使用从Cognito Identity获得的令牌对请求进行签名。有关如何签署请求的更多信息,请参阅 谢谢!Ritisha.可能的副本