#ionic-framework #firebase-authentication #progressive-web-apps #deep-linking
#ionic-framework #firebase-аутентификация #progressive-веб-приложения #глубокая привязка
Вопрос:
Я пытаюсь обработать ссылку подтверждения по электронной почте, которая автоматически генерируется Firebase в моем приложении Ionic / Angular на веб-платформе. Я пробовал использовать плагин Deeplink cordova (в документах говорится, что он поддерживает web), но возвращает ошибку «cordova_not_available». Я пробовал использовать плагин приложения capacitor, но он возвращает пустую строку по умолчанию в браузере. Я пытался вызвать, location.toString()
но ссылка содержит несколько вопросительных знаков в значениях параметров запроса, и все, начиная со второго вопросительного знака, удаляется. Ссылка, сгенерированная Firebase, выглядит следующим образом:
https://example.com?link=https://example.com?apiKey={myApiKey}&mode=verifyEmail&oobCode={theCodeIneed}&continueUrl=https://example.com/email-confirmed&lang=enamp;apn=com.example.myAppNameamp;amvamp;ibi=com.example.myAppNameamp;ifl=https://example.com?apiKey={myApiKey}&mode=verifyEmail&oobCode={theCodeIneed}&continueUrl=https://example.com/email-confirmed/&lang=en
Но то, что я получаю от location.toString()
(лучшее на данный момент), просто:
https://example.com?link=https://example.com
итак, у меня нет способа получить параметр oobCode, который мне нужен для подтверждения того, что пользователь владеет этим адресом электронной почты
Есть ли способ получить полную ссылку?
Ответ №1:
Я, наконец, обнаружил, что, установив handleCodeInApp = false
параметр actionCodeSettings методов Firebase sendPasswordResetEmail или sendEmailVerification, ссылка, автоматически сгенерированная Firebase, имеет только один вопросительный знак (я не знаю почему), таким образом, ею можно управлять location.toString()
для извлечения oobCode.