NoneGenerate EmailVerificationLink и другое состояние прохождения Firebase в действиях электронной почты

Поэтому я тесно сотрудничаю с командой разработчиков мобильных устройств, чтобы генерировать правильные электронные письма, когда пользователь регистрируется, сбрасывает pw и т. Д.

С этим фрагментом кода, который я вставил ниже и после всех настроек белого списка и динамической ссылки, мы наконец генерируем ссылку. Он отлично работает как с приложениями, iOS и Android. Проблема приходит с веб-приложением. Если пользователь пытается зарегистрироваться через приложение и получает это электронное письмо, но открывает его на рабочем столе, веб-приложение покажет 404 и не перейдет по URL, который я установил в url: baseUrl (это URL, по которому пользователь сможет активировать свою электронную почту).

Что я здесь не понимаю?

exports = module.exports = region('europe-west1').https.onRequest(async (
  request,
  response,
): Promise<any> => {
  const CONFIG = config();
  const { mobile } = CONFIG;
  const baseUrl = CONFIG.bloqify.base_url;

  const actionCodeSettings: authLib.ActionCodeSettings = {
    url: baseUrl,
    iOS: {
      bundleId: mobile.ios.bundle_id,
    },
    android: {
      packageName: mobile.android.package_name,
      installApp: true,
      minimumVersion: mobile.android.moinimum_version,
    },
    handleCodeInApp: true,
    dynamicLinkDomain: mobile.dynamic_link.domain,
  };

  const [generateLinkError, generateLinkSuccess] = await to(
    auth.generateEmailVerificationLink('testemail@test.com', actionCodeSettings),
  );
  if (generateLinkError) {
    console.log(generateLinkError.message);
    return response.status(500).send({
      success: false,
      refunded: !!generateLinkError,
      message: generateLinkError.message,
    });
  }

  console.log(generateLinkSuccess);

  return response.status(200).send({ success: true });
});

2 ответа

Это должно отступить к baseUrl при открытии в настольном браузере. Эта страница должна быть реализована с вашей стороны. Вы должны выполнить действия, описанные в разделе "Выполнение входа на веб-странице". В противном случае будет отображаться ошибка 404, поскольку страница недоступна.

Вам нужно установить ссылку для ссылки на верификацию в консоли проекта Firebase.

Перейдите в раздел Аутентификация -> Шаблоны -> Нажмите кнопку Изменить в разделе шаблонов.

Затем нажмите на ссылку настройки URL-адреса внизу, после этого добавьте в поле домен вашего сайта и добавьте уникальный URL-адрес для этого адреса. например

https: // имя_домена / действие

После этого обработайте код действия с помощью своего веб-sdk, чтобы пометить подтвержденный адрес электронной почты / обновить пароль.

PS URL-адрес, который вы передаете в настройках действия, предназначен для перенаправления. Лучший способ справиться с этими ссылками - создать отдельный хостинг доменов только для обработки этих ссылок. Укажите адрес этого домена в настройках Firebase, а затем, после выполнения проверки, перенаправьте на ваш сайт Vue в этом случае. Вот приложение React, которое реализует этот сценарий: https://github.com/griffinsockwell/react-firebase-custom-email-handlers

Шаг 1

Шаг 2