Зависит от того, выбран ли Use Lambda Proxy Integration
в Integration Request
для лямбды.Если он установлен, тогда все утверждения токена будут переданы на event.requestContext.authorizer.claims
.
Если вы не используете Lambda Proxy Integration, тогда вам нужно использовать Body Mapping Template
в Integration Request
для лямбда-выражения,Пример шаблона с application/json
Content-Type:
"context" : {
"sub" : "$context.authorizer.claims.sub",
"username" : "$context.authorizer.claims['cognito:username']",
"email" : "$context.authorizer.claims.email",
"userId" : "$context.authorizer.claims['custom:userId']"
}
Предполагается, что в пользовательском пуле есть собственный атрибут с именем userId, и он может быть прочитан клиентом.
Вы не можете использовать токен id для API aws cognito-idp, вам нужно использовать токен доступа.Однако вы можете использовать вызов AdminGetUser с именем пользователя, если ваш lambda авторизован.