Как я могу использовать языковой код firebase (myFirebase.auth (). LanguageCode) в URL-адресе ссылки для действия в шаблоне электронной почты для проверки подлинности Firebase? - PullRequest
0 голосов
/ 29 января 2020

Итак, мой веб-сайт, созданный с использованием ReactJS, обеспечивает поддержку нескольких языков, и мои маршруты форматируются следующим образом:

http://localhost:3000/<alpha-2-country-code>/<action>

Я пытаюсь использовать Firebase Authentication для проверки адреса электронной почты, предоставленного пользователем при регистрации. Это ссылка для подтверждения электронной почты, которую я получил от Аутентификации Firebase:

http://localhost: 3000 / новый аккаунт? Mode = verifyEmail & oobCode = XXX & apiKey = XXX & lang = fr

Моя текущая настройка React Project заключается в том, что я собираюсь перенаправить пользователей на страницу ошибок, когда alpha-2-код страны не указан до действия .

У меня вопрос, есть ли способ извлечь fr из myFirebase.auth (). LanguageCode , чтобы я мог добавить его к своему действию? URL ссылки в шаблоне электронной почты для проверки подлинности Firebase? Я не смог найти ничего, связанного с этим, в официальной документации.

URL-адрес ссылки на действие, который я ожидаю, что Firebase выдаст:

http://localhost: 3000 / фр. / new-account? mode = verifyEmail & oobCode = XXX & apiKey = XXX & lang = fr

Заранее спасибо!

(отредактировано 31 января 2020 года)

Честно говоря, у меня уже настроен обработчик действия электронной почты, потому что я использую myFirebase.auth().applyActionCode(actionCode) для проверки электронной почты пользователя.

Итак, моя текущая реализация требует, чтобы я установил URL ссылки действия на http://localhost:3000/en/new-account?mode=<action>&oobCode=<code>&lang=fr по умолчанию, и он будет перенаправлен на http://localhost:3000/fr/new-account?mode=<action>&oobCode=<code>&lang=fr, потому что lang равен fr а не по умолчанию ru .

Мне просто интересно, есть ли лучший способ сделать это, потому что эта ссылка https://.../en/auth/...&lang=fr кажется немного нелогично, поскольку он показывает 2 конфликтующих языков.

Было бы замечательно, если бы Firebase мог выставлять больше «определенных для firebase» переменных в «URL-адресе настройки действия», кроме автоматического добавления action, oobcode и отставания, потому что не всем разработчикам нравится идея иметь все набитый в строке запроса.

Я не понимаю, почему эта задержка поставит под угрозу безопасность.

Ответы [ 2 ]

0 голосов
/ 11 февраля 2020

В случае, если кто-то из вас, ребята, задается вопросом, что я сделал.

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

Привет, Эрвин

К сожалению, нет больше настроек, но тот, которым я поделился с вами, однако я сделал запрос на добавление функций, попросив добавить дополнительные функции настройки для ссылок и обработчиков действий по электронной почте

Наши инженеры, безусловно, рассмотрят возможность добавления этого к Аутентификация Firebase, следите за примечаниями к выпуску Firebase, чтобы быть в курсе последних новостей от Firebase. Еще раз спасибо, что поделились своими мыслями!

Пожалуйста, напишите, если у вас есть какие-либо другие консультации.

Приветствия, X

На данный момент я все еще опираясь на обходное решение, которое я упомянул в своем вопросе. Надеюсь, это поможет!

0 голосов
/ 31 января 2020

Firebase Auth должен добавить код языка к вашей ссылке для подтверждения по электронной почте. Это задокументировано здесь .

firebase.auth().languageCode = 'fr';
firebase.auth().currentUser.sendEmailVerification()
  .then(() => {
    // Email verification should be sent and the link will have &lang=fr
    // appended.
  })
  .catch((error) => {
    // Error occurred.
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...