Как передать токен 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