Прикрепить пользовательский атрибут к шлюзу API авторизатора Cognito -> Lambda - PullRequest
0 голосов
/ 17 июня 2019

У меня есть AWS Python лямбда, которая запускается API-шлюзом. Вызовы API-шлюза авторизуются с помощью Cognito.

Я хочу получить пользовательский атрибут, определенный в Cognito для авторизованного пользователя.

В настоящее время в "requestContext" я получаю:

authorizer': {'claims': {'aud': '4m3ak7fsqva7kokbkfl2vev6420',
                                              'auth_time': '156074111',
                                              'cognito:username': 'fa15f3d8-220b-4c5c-b5a6-XXXXXXXXXX',
                                              'email': 'email@address.com',
                                              'email_verified': 'false',
                                              'event_id': '12345-7326-4fef-95cd-ae06665169a7',
                                              'sub': 'fd1666d8-260b-4c1c-a5b6-466d4b42bd77',
                                              'token_use': 'id'}},

Это здорово, но пользователь является частью UserPool, для которого определен пользовательский атрибут:

Пользовательские атрибуты custom: customid

Как передать «customid» в лямбду через API Gateway / Cognito, в идеале, используя AWS SAM, учитывая то, как определяется лямбда.

template.yaml

  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: dev
      Cors: "'*'"
      Auth:
        DefaultAuthorizer: CognitoAuthorizer
        Authorizers:
          CognitoAuthorizer:
            UserPoolArn: !GetAtt CognitoUserPool.Arn

Я нашел похожий вопрос здесь: Получите данные из AWS Cognito, используя Boto3 , но изо всех сил пытаетесь добавить их в шаблон SAM

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...