Я развертываю приложение на AWS Lambda, используя серверную инфраструктуру. Мое приложение обслуживается одной Lambda, поэтому я прохожу через путь запроса, используя {proxy+}
:
functions:
app:
runtime: go1.x
handler: bin/lambda
events:
- http:
path: /{proxy+}
method: any
Теперь я хотел бы использовать собственный Lambda-авторизатор для защиты определенной части моегоприложение (думаю, все /admin/
). Я подумал, что мог бы просто добавить другое определение события, которое использует авторизатор, например:
functions:
app:
runtime: go1.x
handler: bin/lambda
events:
- http:
path: /admin/{proxy+}
method: any
authorizer:
name: authorizer
resultTtlInSeconds: 0
identitySource: method.request.header.Authorization
- http:
path: /{proxy+}
method: any
, но это никак не влияет. Если я применю свой авторизатор к прокси-серверу корневого уровня, он будет применен, как и ожидалось, поэтому сам авторизатор работает как положено.
Как я могу определить свои маршруты в таком сценарии? Нужно ли использовать разные лямбды или мне чего-то не хватает?