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