Я пытаюсь реализовать проверку электронной почты пользователя (с 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 / __ / авториз / действие? Mode = & oobCode =
А вот проверочный URL-адрес, отправляемый по вышеуказанному коду:
https://blaproject.page.link? Ссылка = https://blaproject -ea9d6.firebaseapp.com / / авториз / действие? ApiKey% 3DAIzaSyAi1fxd-HdkfXzYJxTpwmB3_mVCy5gvWxA% 26mode% 3DverifyEmail% 26oobCode% 3DqjvGoqc1n3ya0OIi_tWIYTpp59DYKgB6Sbj0EymN2IkAAAFkYNutMA% 26continueUrl% 3D https://blaproject.page.link/zCE4%26lang%3Den&apn=com.example.android&amv=12&ibi=blaproject.blaprojectV0-2&ifl=https://blaproject-ea9d6.firebaseapp.com//auth/action?apiKey%3DAIzaSyAi1fxd-HdkfXzYJxTpwmB3_mVCy5gvWxA%26mode%3DverifyEmail%26oobCode%3DqjvGoqc1n3ya0OIi_tWIYTpp59DYKgB6Sbj0EymN2IkAAAFkYNutMA%26continueUrl%3Dhttps://blaproject.page.link/zCE4%26lang%3Den
Итак, мой вопрос: почему этот URL-адрес не проверяет электронную почту пользователя, а затем использует URL-адрес продолжения (и связанный домен), чтобы запустить приложение? Приложение только открывается, без проверки электронной почты пользователя.
Спасибо за любые советы, которые вы можете дать, чтобы помочь мне понять, что я не понимаю:)