AWS Cognito маскирует данные в лямбде ⇐ Python
AWS Cognito маскирует данные в лямбде
У меня очень странное поведение некоторых функций, которые я создаю.
Я использую aws Cognito для управления пользователями в системе, которую создаю. При создании учетной записи cognito отправляет пользователю приглашение по электронной почте с одноразовым кодом пользователя. Я хочу закодировать этот код с помощью base64.
вот образец блока
#получите значение из события, отправленного Cognito значение = событие["запрос"]["кодовыйпараметр"] # закодируйте его с помощью base64 value_bytes = value.encode('ascii') base64_bytes = base64.b64encode(value_bytes) base64_string = base64_bytes.decode('ascii') logging.info = ("строка в базе 64: %s", base64_string) Дальше происходит следующее: это значение записывается в HTML и отправляется по электронной почте. Если пропустить кодировку base64 - все работает хорошо. Однако, если я кодирую Base 64, декодированное значение ВСЕГДА {####} - я предполагаю, что оно замаскировано cognito/aws. Этот блок кода отлично работает на локальном компьютере за пределами aws-lambda, но никогда не работает на aws, и какой бы код ни был получен (сгенерирован случайным образом), я получаю тот же результат после декодирования Base 64, а именно - {####
То же самое произойдет, если я попробую:
[*]для изменения алгоритма — base32, urlencode [*]скопировать строку в новое свойство по значению (а не по ссылке)
Есть идеи, что вызывает такое поведение?
У меня очень странное поведение некоторых функций, которые я создаю.
Я использую aws Cognito для управления пользователями в системе, которую создаю. При создании учетной записи cognito отправляет пользователю приглашение по электронной почте с одноразовым кодом пользователя. Я хочу закодировать этот код с помощью base64.
вот образец блока
#получите значение из события, отправленного Cognito значение = событие["запрос"]["кодовыйпараметр"] # закодируйте его с помощью base64 value_bytes = value.encode('ascii') base64_bytes = base64.b64encode(value_bytes) base64_string = base64_bytes.decode('ascii') logging.info = ("строка в базе 64: %s", base64_string) Дальше происходит следующее: это значение записывается в HTML и отправляется по электронной почте. Если пропустить кодировку base64 - все работает хорошо. Однако, если я кодирую Base 64, декодированное значение ВСЕГДА {####} - я предполагаю, что оно замаскировано cognito/aws. Этот блок кода отлично работает на локальном компьютере за пределами aws-lambda, но никогда не работает на aws, и какой бы код ни был получен (сгенерирован случайным образом), я получаю тот же результат после декодирования Base 64, а именно - {####
То же самое произойдет, если я попробую:
[*]для изменения алгоритма — base32, urlencode [*]скопировать строку в новое свойство по значению (а не по ссылке)
Есть идеи, что вызывает такое поведение?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение