Подтвердить что ты не робот

Как передать токен Cognito в шлюз API Amazon?

Я разрабатываю веб-приложение, основанное на Amazon API Gateway. Теперь я создал Facebook и успешно зарегистрировался на сайте. но когда я называю другой API, все ушло. Я думаю, что я должен передавать токен Cognito при вызове API каждый раз. я прав?

если да, то как передать токен Cognito в API? как заголовок? или другим способом?

Спасибо,

4b9b3361

Ответ 1

Вы используете "Basic Authflow" из идентификатора cognito, что означает, что вам нужно будет получить учетные данные для своих пользователей, вызвав 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