2017-02-20 4 views
0

Есть какой-либо способ получить объект пользователя cognito в лямбда-функции? Мой клиент уже отправил личность, и у меня есть context.identity.cognitoIdentityId, но я не нашел способа «преобразовать» это в действительный объект пользователя.AWS Lambda Cognito access

Например, если я хочу узнать аутентифицированное имя пользователя пользователя, адрес электронной почты или другой атрибут cognito, каков правильный способ его получить?

И этот идентификатор является уникальным идентификатором пользователя? Я имею в виду, если пользователь зарегистрировался в своей учетной записи fb и после этого подключился к своей учетной записи Twitter, идентификационный номер еще останется? Или получил новый? Если у него появилось новое, как я могу «подключить» старый идентификатор к новому?

Благодаря

b0c1

ответ

1

Оригинальное имя пользователя/адрес электронной почты не пересекает границу федерации, так что если вы обменять Пулы Cognito идентификатор пользователя маркер для АМС полномочий через Cognito Federated Identity, все претензии в Id токены потеряны.

Если вы используете Лямбду с интерфейсом API, вы можете использовать токен идентификатора пула пользователей Cognito напрямую с параметром Cognito Authorizer для аутентификации запроса, и все претензии из маркера id будут переданы с контекстом. Подробности here.

К сожалению, похоже, что вы пытаетесь связать несколько поставщиков с тем же идентификатором, который вы не можете сделать, если не используете Federated Identity. Но чтобы ответить на ваш вопрос о том, как вы связываете две учетные записи поставщика удостоверений вместе в Federated Identity, если вы одновременно передадите оба токена на карте логинов, он свяжет эти два идентификатора.

"graph.facebook.com":"facebookToken" 
"accounts.google.com":"googleToken" 

Если вы никогда не связаны либо счет, прежде чем вы получите новый идентификатор, если вы связаны либо до, либо тождества сольются, и вы получите один или другой.

+0

Так аутентифицироваться с помощью федерального идентификатора с помощью cognito и вызвать Lambda через API Gateway для разрешения подлинной идентичности? – b0c1

Смежные вопросы