Ich habe die folgende Methode implementiert, um mich mit einer Telefonnummer anzumelden :
Code: Select all
public async signInWithPhoneNumber(options: SignInWithPhoneNumberOptions,
loading: HTMLIonLoadingElement
): Promise {
try {
console.log("Attempting to sign in with phone number:", options.phoneNumber);
const user = await FirebaseAuthentication.signInWithPhoneNumber(options);
console.log('Sign-in successful:', user);
} catch (error) {
console.error('Error during phone number verification:', error);
} finally {
await loading.dismiss();
}
}
Ich erwarte, dass der Aufruf von FirebaseAuthentication.signInWithPhoneNumber(options) ein Objekt zurückgibt mit Benutzerinformationen oder einer VerificationId, mit der ich den SMS-Code verifizieren kann.
Tatsächliches Verhalten
Wenn dieser Code auf einem iOS-Gerät ausgeführt wird, wird der Die Xcode-Konsole protokolliert Folgendes:
Code: Select all
⚡️ To Native -> FirebaseAuthentication signInWithPhoneNumber 110818811
⚡️ TO JS undefined
⚡️ [log] - Sign-in successful: undefined
Code: Select all
TO JS
Zusätzliche Details
< em>Firebase-Konfiguration:
- Die Telefonauthentifizierung ist in der Firebase-Konsole aktiviert.
- Der GoogleService- Die Info.plist-Datei ist ordnungsgemäß konfiguriert und
mit dem Projekt synchronisiert. - Testtelefonnummern werden in Firebase konfiguriert, um das Senden echter
SMS-Nachrichten zu vermeiden.
- Ionisch: 6.x
- Winkelig: ^16.x
- @capacitor-firebase/ Authentifizierung: ^5.x
- Kondensator: ^5.x
- Die Firebase-Konfiguration ist korrekt (mit Ausnahme der APNs, die ich nicht
eingerichtet habe, weil ich weiß, dass sie für die Telefonanmeldung nicht erforderlich sind).
Die Telefonnummer ist im internationalen Format. - Kondensator-Plugins sind korrekt installiert und synchronisiert.
- Müssen APNs-Zertifikate konfiguriert werden, damit signInWithPhoneNumber unter iOS funktioniert, auch wenn ich nur die Telefonauthentifizierung verwende?
- Was könnte dazu führen, dass signInWithPhoneNumber zurückkehrt? undefiniert?