Я реализовал собственный авторизатор типа «ЗАПРОС» для шлюза API, который проверяет токен JWT, переданный в заголовке «Авторизация». Я протестировал лямбду самостоятельно, и она работает как положено. Я также подключил авторизатор к своим маршрутам и могу протестировать его в консоли AWS - опять все работает (см. Изображение):
успешный вызов через консоль
Однако, когда я пытаюсь вызвать свои конечные точки с токеном в заголовке Authorization
, я всегда получаю НЕСАНКЦИОНИРОВАННЫЙ ответ:
{
"errors": [
{
"category": "ClientError",
"code": "UNAUTHORIZED",
"detail": "Unauthorized",
"method": "GET",
"path": "/cases",
"requestId": "004eb254-a926-45ad-96a5-ce3527621c81",
"retryable": false
}
]
}
Из того, что я собрал, шлюз API никогда не вызывает Мой Авторизатор, поскольку я не вижу никаких событий журнала в его облачных часах. Мне удалось включить ведение журнала в облачном хранилище моего шлюза API, и единственная информация о журнале, которую я вижу, такова:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| timestamp | message |
|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1578275720543 | (dac0d4f6-1380-4049-bcee-bf776ca78e5c) Extended Request Id: F2v9WFfiIAMF-9w= |
| 1578275720543 | (dac0d4f6-1380-4049-bcee-bf776ca78e5c) Unauthorized request: dac0d4f6-1380-4049-bcee-bf776ca78e5c |
| 1578275720543 | (dac0d4f6-1380-4049-bcee-bf776ca78e5c) Extended Request Id: F2v9WFfiIAMF-9w= |
| 1578275720544 | (dac0d4f6-1380-4049-bcee-bf776ca78e5c) Gateway response type: UNAUTHORIZED with status code: 401 |
| 1578275720544 | (dac0d4f6-1380-4049-bcee-bf776ca78e5c) Gateway response body: {"errors": [{"category": "ClientError","code": "UNAUTHORIZED","detail": "Unauthorized","method": "GET","path": "/cases","requestId": "dac0d4f6-1380-4049-bcee-bf776ca78e5c","retryable": false }]} |
| 1578275720544 | (dac0d4f6-1380-4049-bcee-bf776ca78e5c) Gateway response headers: {} |
| 1578275720544 | (dac0d4f6-1380-4049-bcee-bf776ca78e5c) Gateway response type: UNAUTHORIZED with status code: 401 |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
На данный момент я полностью застрял и не уверен, как отлаживать это дальше. Я предполагаю, что что-то должно быть настроено неправильно, но информация журнала, которую я могу найти, не дает никаких указаний на проблему. Я также вставил копию своей конфигурации авторизаторов на изображении ниже:
Конфигурация авторизатора
Снимок экрана одной конечной точки, настроенной для использования авторизатора