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, которая с тех пор устранена.

См. также:  Как правильно поменять местами пустые указатели?
Понравилась статья? Поделиться с друзьями:
IT Шеф
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: