Как передать токен Cognito в Amazon API Gateway?
Я разрабатываю веб-приложение на основе Amazon API Gateway. Теперь я создал Facebook login и успешно вошел в веб-сайт. но когда я вызываю другой API, все пропало. Я думаю, что я должен передать токен Cognito при вызове API каждый раз. я прав?
Если да, то как передать токен Cognito в API? как заголовок? или по-другому?
спасибо,
1 ответов
вы используете " базовый Authflow "от Cognito identity, что означает, что вам нужно будет получить учетные данные для ваших пользователей, вызвав 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