Как прочитать пользовательские атрибуты AWS Cognito и войти в систему пользователя в лямбда - PullRequest
1 голос
/ 13 апреля 2019

Я создал настраиваемые атрибуты в пуле aws congnito, теперь добавляя лямбду после аутентификации, а внутри лямбды хочу прочитать «настраиваемые атрибуты» и войти в систему под именем пользователя.

Внутри Node.js лямбда:

  var email=event.request.userAttributes.email;
  var refNumber=event.request.userAttributes.ref_number; //custom attribute
  var loginid=event.request.userAttributes.username;//loggedin id in cognito

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

1 Ответ

4 голосов
/ 13 апреля 2019

Пользовательские атрибуты имеют имя custom:xxx, где xxx - это имя вашего пользовательского атрибута:

{
    "version": "1",
    ...,
    "userName": "...",
    "triggerSource": "PostAuthentication_Authentication",
    "request": {
        "userAttributes": {
            "sub": "...",
            "cognito:user_status": "CONFIRMED",
            ...
            "locale": "en",
            ...
            "custom:xxx": "yyy"
        },
        "newDeviceUsed": true
    },
    "response": {}
}

Так что для вашего ref_number это должно быть event.request.userAttributes['custom:ref_number'].

Имя пользователя просто event.userName.

...