Как поддерживать многоязычную электронную почту в сценарии AWS Forgot Password - PullRequest
0 голосов
/ 21 января 2019

Я использую AWS Cognito для управления моими пользователями и хотел бы контролировать формулировку электронного письма, отправляемого пользователю в потоке «Забыли пароль».

Я основываю свое решение на этом: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-custom-message.html

По сути, AWS позволяет вам определять лямбда-функцию, которая будет вызываться при необходимости отправки электронного письма, и определять содержание темы и тела письма (вставляя код подтверждения в тело).

Мой вопрос такой: Пользователь может использовать приложение на одном из многих языков. Это означает, что немецкий пользователь может просматривать приложение на немецком языке. Когда он инициирует поток «Забыли пароль», он должен получить письмо на немецком языке. Однако лямбда-функция не может ничего знать о пользователе, поскольку он выходит из системы, когда происходит этот поток, и поэтому Cognito не может передать эту информацию.

Как это можно решить?

Спасибо.

1 Ответ

0 голосов
/ 21 января 2019

Ну, вам нужно как-то извлечь эту информацию о пользователе.Cognito не поможет вам в этом случае, потому что, как вы заявили, пользователь не аутентифицирован.

Другой вариант, который у вас есть, - это предположить, что язык пользователя совпадает с языком, используемым в том месте, откуда был получен запрос (скажем, через IP-адрес отправителя).Но это очень ненадежное решение.

Другой вариант - создать таблицу DynamoDB (или использовать любое другое решение БД, но DynamoDB является наиболее подходящим для этой задачи) и сохранить электронную почту пользователя и язык этого пользователя.там.Затем, если вы вызываете лямбда-функцию, вам уже передан адрес электронной почты пользователя, и вы можете использовать ее для извлечения соответствующего языка из DynamoDB, прежде чем генерировать электронное письмо с паролем сброса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...