我正在开发基于Amazon API Gateway的Web应用程序 . 现在我创建了Facebook登录并成功登录网站 . 但当我打电话给另一个API时,一切都消失了 . 我想我应该在每次调用API时传递Cognito令牌 . 我对吗?
如果是,如何将Cognito令牌传递给API?喜欢 Headers ?或另一种方式?
谢谢,
您正在使用来自cognito身份的"Basic Authflow",这意味着您需要通过致电STS的"AssumeRoleWithWebIdentity"获取用户的凭据 . 以下是一些有用的文档:http://docs.aws.amazon.com/cognito/devguide/identity/concepts/authentication-flow/
获得凭据后,您可以实例化API网关客户端:
var client = apigClientFactory.newClient({ accessKey: ACCESS_KEY, secretKey: SECRET_KEY, sessionToken: SESSION_TOKEN });
密钥和令牌来自“AssumeRoleWithWebIdentity”调用的结果 .
如果您已正确配置了IAM角色和授权,则应该能够访问您的API .
以下是描述如何配置角色和授权的文档:http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-method-settings.html#how-to-method-settings-callers-console
此外,这里是如何启用CORS - http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html
1 回答
您正在使用来自cognito身份的"Basic Authflow",这意味着您需要通过致电STS的"AssumeRoleWithWebIdentity"获取用户的凭据 . 以下是一些有用的文档:http://docs.aws.amazon.com/cognito/devguide/identity/concepts/authentication-flow/
获得凭据后,您可以实例化API网关客户端:
密钥和令牌来自“AssumeRoleWithWebIdentity”调用的结果 .
如果您已正确配置了IAM角色和授权,则应该能够访问您的API .
以下是描述如何配置角色和授权的文档:http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-method-settings.html#how-to-method-settings-callers-console
此外,这里是如何启用CORS - http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html