Test-Telefonnummern registrieren
In diesem Dokument erfahren Sie, wie Sie für Entwicklungszwecke Telefonnummern bei Identity Platform registrieren. Dadurch können Sie Authentifizierungsmethoden testen, die das Senden einer SMS, z. B. die Smartphone-Anmeldung und die Multi-Faktor-Authentifizierung, betreffen.
Die Verwendung einer Testnummer statt einer echten Nummer bietet Ihnen verschiedene Vorteile:
- Sie lässt sich nahtlos in die iOS- und Android-Emulatoren einbinden.
- Es ist nicht mehr erforderlich, eine eigentliche SMS zu senden.
- Sie können aufeinanderfolgende Tests mit derselben Telefonnummer ausführen, ohne dass es zu Drosselung kommt.
- Sie können Integrationstests schreiben, ohne von Sicherheitsprüfungen blockiert zu werden.
- Ihr Nutzungskontingent wird nicht verbraucht.
Sie können bis zu zehn Telefonnummern für die Entwicklungszwecke registrieren.
Test-Telefonnummer registrieren
So registrieren Sie eine Test-Telefonnummer:
Rufen Sie in der Google Cloud Console die Seite Identitätsanbieter auf.
Zur Seite "Identitätsanbieter"Wenn Sie die Telefonauthentifizierung testen, suchen Sie sie in der Liste der Anbieter und klicken Sie auf das Symbol Bearbeiten. Wenn Sie die Multi-Faktor-Authentifizierung testen, wählen Sie den Tab Multi-Faktor-Authentifizierung aus und klicken Sie auf Bearbeiten.
Geben Sie unter Telefonnummern für Tests eine Telefonnummer und einen Bestätigungscode ein, um sich zu registrieren.
Verwenden Sie für die Telefonnummer das E.164-Format, und es darf kein bestehender Identity Platform-Nutzer zugewiesen werden. Der Bestätigungscode sollte sechs Ziffern umfassen. Wählen Sie aus Sicherheitsgründen Zahlen aus, die schwer zu erraten sind, und vermeiden Sie auffällige Muster wie
+1 123-456-7890
.Klicken Sie auf Speichern.
Telefonnummern werden von Identity Platform wie echte Telefonnummern behandelt. Bewahren Sie sie daher an einem sicheren Ort auf und rotieren Sie sie in regelmäßigen Abständen.
Manuelle Tests
Sie können sofort Telefonnummern in Ihrer Anwendung verwenden, entweder direkt oder mithilfe der iOS- und Android-Emulatoren. Beim Anmelden mit einer Test-Telefonnummer wird kein SMS-Bestätigungscode gesendet. Stattdessen geben Sie den Code ein, den Sie beim Erstellen der Testnummer registriert haben.
Nach der Anmeldung wird ein Identity Platform-Nutzer mit der Testtelefonnummer erstellt. Dieser Nutzer hat dasselbe Verhalten und dieselben Eigenschaften wie ein echter Nutzer, einschließlich eines gültigen ID-Tokens, d. h., es kann auf alle Anwendungen und Dienste zugreifen.
Sie können eine Testrolle mit eingeschränkten Berechtigungen erstellen und sie mithilfe von benutzerdefinierten Anforderungen zuweisen, um den Zugriff von Testnutzern zu beschränken.
Integrationstests
Zusätzlich zu manuellen Tests enthält das Client SDK APIs, die Sie bei der Entwicklung von Integrationstests unterstützen. Mit diesen APIs werden die Anforderungen für reCAPTCHA und die App-Überprüfung deaktiviert, was die Automatisierung vereinfacht.
Das folgende Beispiel zeigt, wie Sie die Anmeldung eines Nutzers mit einer Telefonnummer testen:
JavaScript
// Turn off phone app verification.
firebase.auth().settings.appVerificationDisabledForTesting = true;
var phoneNumber = "+16505554567";
var testVerificationCode = "123456";
// Render a fake reCAPTCHA and resolve without app verification.
var appVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');
// signInWithPhoneNumber will call appVerifier.verify(), which will resolve
// with a fake reCAPTCHA response.
firebase.auth().signInWithPhoneNumber(phoneNumber, appVerifier)
.then(function (confirmationResult) {
// confirmationResult can resolve using testVerificationCode.
return confirmationResult.confirm(testVerificationCode)
}).catch(function (error) {
// Error; SMS not sent
// ...
});
Sichtbare und unsichtbare simulierte reCAPTCHA-Prüfungen verhalten sich anders, wenn die App-Überprüfung deaktiviert ist:
Sichtbares reCAPTCHA: Zur Simulation eines Nutzerklicks wird das reCAPTCHA automatisch nach einer kurzen Verzögerung ausgeblendet.
Unsichtbares reCAPTCHA: Zur Simulation der App-Überprüfung wird das reCAPTCHA automatisch beim Aufrufen von
appVerifier.verify()
ausgeblendet.
Simulierte reCAPTCHAs lösen weiterhin Callbacks aus, wenn sie ausgeblendet werden oder ablaufen.