Я пытаюсь реализовать проверку электронной почты пользователя (с URL-адресом проверки по умолчанию в шаблоне электронной почты) И URL-адресом ActionCodeSetting (динамическая ссылка), чтобы вернуть пользователя в приложение. Я сбит с толку тем, как должна работать проверка электронной почты Firebase с помощью ActionCodeSetting. Я прочитал все доступные страницы документации, и мне до сих пор неясно, как правильно настроить «URL продолжения», чтобы НЕ вытеснять и отменять URL проверки по умолчанию.
Что я наделал:
- Я протестировал проверку электронной почты с помощью автоматически созданной ссылки для проверки электронной почты. Это сработало.
- Затем я добавил URL-адрес ActionCodeSetting, который использует домен, добавленный в связанные домены проекта XCode. Это помогло вернуть пользователя в приложение после нажатия ссылки для подтверждения.
- Проблема: проверка адреса электронной почты больше не работает.
Вот реализованный мной код:
var actionCodeSettings = ActionCodeSettings.init()
actionCodeSettings.handleCodeInApp = true
let user = Auth.auth().currentUser
let urlString = "https://blaproject.page.link/zCB4"
actionCodeSettings.setIOSBundleID(Bundle.main.bundleIdentifier!)
actionCodeSettings.setAndroidPackageName("com.example.android", installIfNotAvailable:true, minimumVersion:"12")
Auth.auth().currentUser?.sendEmailVerification(with: actionCodeSettings, completion: { (error) in
print("verification email sent")
print("action code setting URL is: \(String(describing: actionCodeSettings.url))")
})
Вот URL-адрес подтверждения по умолчанию из шаблона электронной почты в консоли Firebase:
https://blaproject-ea9d6.firebaseapp.com/__/auth/action?mode= & oobCode =
И вот URL-адрес подтверждения, который отправляется приведенным выше кодом:
Итак, мой вопрос: почему этот URL-адрес не проверяет электронную почту пользователя, а затем использует URL-адрес продолжения (и связанный домен), чтобы запустить приложение? Он только запускает открытие приложения без проверки электронной почты пользователя.
Спасибо за любые советы, которые вы можете дать, чтобы помочь мне понять, чего я не понимаю :)