AWS Cognito — PreTokenGeneration без параметра clientMetadata при обновлении токена

Настройка:

На стороне клиента мы используем библиотеку Auth от Amplify. При входе в систему мы устанавливаем некоторые clientMetadata просто:

async function login(username, password, metadataValue) { try { Auth.configure({clientMetadata: { metadataKey: metadataValue }}) await Auth.signIn(username, password) } catch(e){ console.log(e) } }

Это работает, как ожидалось, и мы получаем clientMetadata в нашем PreTokenGeneration Lambda в event.request.clientMetadata. Мы используем эти данные для динамической генерации утверждений нашего токена, и все в порядке (мы установили метаданные в Auth.configure(), поэтому Amplify отправит их с последующими запросами на обновление токена).

Проблема:

Через 1 час (истечение срока действия токена) срабатывает обновление токена. Теперь в запросе, который Amplify делает для обновления наших токенов, мы видим, что clientMetadata действительно отправляется как часть запроса на обновление токена (на самом деле, похоже, что это было , недавно решенное командой Amplify).

Таким образом, поскольку метаданные отправляются, как ожидалось, это не похоже на проблему с Amplify.

Однако clientMetadata не отображается как часть запроса в нашем PreTokenGeneration Lambda, который запускается обновлением, и поэтому наш токен не содержит ожидаемых утверждений.

Любая помощь с этим будет чрезвычайно признательна.

Примечание.

Это сообщение о стеке связано, однако, похоже, это было результатом ошибки Amplify, которая с тех пор устранена.

Источник: ledsshop.ru

Стиль жизни - Здоровье!