API Gateway Authorizer принимает ID_token, но не Access_Token - PullRequest
0 голосов
/ 17 ноября 2018

Я использую API Gateway и Authorizer для управления доступом к папке в корзине S3.Авторизатор настроен на использование пула пользователей Cognito.Этот пул пользователей имеет связанные с ним области OAuth phone и email, а также настраиваемую область, которую я намереваюсь предоставить доступ на чтение к корзине S3.

Однако я обнаружил, что авторизатор примет толькоидентификационный токен для предоставления доступа и возврата несанкционированного доступа, если я передам токен доступа.В соответствии с Amazon docs должна быть возможность использовать токен доступа.

Я следовал указанному здесь при запросе токена доступа, поэтому, например, я установилдо переменной auth примерно так:

var authData = {
        ClientId : '<removed>', 
        AppWebDomain : '<removed',
        TokenScopesArray : ['openid','email', 'domain.com/content/content.read'], 
        RedirectUriSignIn : '<removed>',
        RedirectUriSignOut : '<removed'
    }

Я предполагал, что токен доступа - это все, что мне нужно, и это было его целью, но я не могу заставить его работать.

1 Ответ

0 голосов
/ 19 ноября 2018

Если вы хотите использовать API-шлюз с токеном доступа, вам нужно прыгнуть через несколько дополнительных обручей.

Для получения более подробной информации смотрите " Интеграция API с пулом пользователей ", особенно раздел по настройке авторизатора COGNITO_USER_POOLS для методов .

В частности, из Настройки запроса метода> Авторизация:

  • Выберите значок карандаша рядом с OAuth Scopes.

  • Введите одно или несколько полных имен области, которая была настроена при создании пула пользователей Amazon Cognito. Например, следуя пример, приведенный в разделе Создание пула пользователей Amazon Cognito, одной из областей это com.hamuta.movies / drama.view. Используйте один пробел для разделения несколько областей.

  • Чтобы сохранить настройку, выберите значок галочки.

...