Provider per la generazione di un PhoneAuthCredential .
PhoneAuthProvider
non funziona in un ambiente Node.js.
Firma:
export declare class PhoneAuthProvider
Costruttori
Costruttore | Modificatori | Descrizione |
---|---|---|
(costruttore)(autore) | Costruisce una nuova istanza della classe PhoneAuthProvider |
Proprietà
Proprietà | Modificatori | Tipo | Descrizione |
---|---|---|---|
TELEFONO_SIGN_IN_METHOD | static | 'telefono' | Imposta sempre su SignInMethod .TELEFONO. |
PROVIDER_ID | static | 'telefono' | Impostato sempre su ProviderId .TELEFONO. |
providerId | "telefono" | Impostato sempre su ProviderId .TELEFONO. |
Metodi
Metodo | Modificatori | Descrizione |
---|---|---|
credenziale(verificationId, verifyCode) | static | Crea una credenziale di autenticazione del telefono, dato l'ID di verifica da PhoneAuthProvider.verifyPhoneNumber() e il codice inviato al dispositivo mobile dell'utente. |
credentialFromError(errore) | static | Restituisce un AuthCredential quando viene superato un errore. |
credenzialeDalRisultato(credenzialeutente) | static | Genera un AuthCredential da un UserCredential . |
verificaNumeroTelefono(Opzionitelefono, applicationVerifier) | Avvia un flusso di autenticazione del numero di telefono inviando un codice di verifica al numero di telefono specificato. |
PhoneAuthProvider.(costruttore)
Costruisce una nuova istanza della classe PhoneAuthProvider
Firma:
constructor(auth: Auth);
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
aut | Aut | L'istanza di autenticazione Firebase in cui devono avvenire gli accessi. |
PhoneAuthProvider.PHONE_SIGN_IN_METHOD
Imposta sempre su SignInMethod .TELEFONO.
Firma:
static readonly PHONE_SIGN_IN_METHOD: 'phone';
PhoneAuthProvider.PROVIDER_ID
Impostato sempre su ProviderId .TELEFONO.
Firma:
static readonly PROVIDER_ID: 'phone';
PhoneAuthProvider.providerId
Impostato sempre su ProviderId .TELEFONO.
Firma:
readonly providerId: "phone";
PhoneAuthProvider.credential()
Crea una credenziale di autenticazione del telefono, dato l'ID di verifica da PhoneAuthProvider.verifyPhoneNumber() e il codice inviato al dispositivo mobile dell'utente.
Firma:
static credential(verificationId: string, verificationCode: string): PhoneAuthCredential;
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
verificaId | corda | L'ID di verifica restituito da PhoneAuthProvider.verifyPhoneNumber() . |
codice di verifica | corda | Il codice di verifica inviato al dispositivo mobile dell'utente. |
Ritorna:
La credenziale del provider di autenticazione.
Esempio 1
const provider = new PhoneAuthProvider(auth);
const verificationId = provider.verifyPhoneNumber(phoneNumber, applicationVerifier);
// Obtain verificationCode from the user.
const authCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
const userCredential = signInWithCredential(auth, authCredential);
Esempio 2
Viene fornito un flusso alternativo utilizzando il metodo signInWithPhoneNumber
.
const confirmationResult = await signInWithPhoneNumber(auth, phoneNumber, applicationVerifier);
// Obtain verificationCode from the user.
const userCredential = await confirmationResult.confirm(verificationCode);
PhoneAuthProvider.credentialFromError()
Restituisce un AuthCredential quando viene superato un errore.
Questo metodo funziona per errori come auth/account-exists-with-different-credentials
. Ciò è utile per il ripristino quando si tenta di impostare il numero di telefono di un utente ma il numero in questione è già collegato a un altro account. Ad esempio, il codice seguente tenta di aggiornare il numero di telefono dell'utente corrente e, se l'operazione non riesce, collega l'utente all'account associato a quel numero:
const provider = new PhoneAuthProvider(auth);
const verificationId = await provider.verifyPhoneNumber(number, verifier);
try {
const code = ''; // Prompt the user for the verification code
await updatePhoneNumber(
auth.currentUser,
PhoneAuthProvider.credential(verificationId, code));
} catch (e) {
if ((e as FirebaseError)?.code === 'auth/account-exists-with-different-credential') {
const cred = PhoneAuthProvider.credentialFromError(e);
await linkWithCredential(auth.currentUser, cred);
}
}
// At this point, auth.currentUser.phoneNumber === number.
Firma:
static credentialFromError(error: FirebaseError): AuthCredential | null;
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
errore | Errore Firebase | L'errore da cui generare una credenziale. |
Ritorna:
Credenziali di autenticazione | nullo
PhoneAuthProvider.credentialFromResult()
Genera un AuthCredential da un UserCredential .
Firma:
static credentialFromResult(userCredential: UserCredential): AuthCredential | null;
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
userCredential | Credenziali utente | Le credenziali dell'utente. |
Ritorna:
Credenziali di autenticazione | nullo
PhoneAuthProvider.verifyPhoneNumber()
Avvia un flusso di autenticazione del numero di telefono inviando un codice di verifica al numero di telefono specificato.
Firma:
verifyPhoneNumber(phoneOptions: PhoneInfoOptions | string, applicationVerifier: ApplicationVerifier): Promise<string>;
Parametri
Parametro | Tipo | Descrizione |
---|---|---|
phoneOpzioni | OpzioniInfotelefono | corda | |
applicationVerifier | ApplicationVerifier | Per la prevenzione degli abusi, questo metodo richiede anche un ApplicationVerifier . Questo SDK include un'implementazione basata su reCAPTCHA, RecaptchaVerifier . |
Ritorna:
Promesso<string>
Una promessa per un ID di verifica che può essere passato a PhoneAuthProvider.credential() per identificare questo flusso.
Esempio 1
const provider = new PhoneAuthProvider(auth);
const verificationId = await provider.verifyPhoneNumber(phoneNumber, applicationVerifier);
// Obtain verificationCode from the user.
const authCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
const userCredential = await signInWithCredential(auth, authCredential);
Esempio 2
Viene fornito un flusso alternativo utilizzando il metodo signInWithPhoneNumber
.
const confirmationResult = signInWithPhoneNumber(auth, phoneNumber, applicationVerifier);
// Obtain verificationCode from the user.
const userCredential = confirmationResult.confirm(verificationCode);
Esempio
// 'recaptcha-container' is the ID of an element in the DOM.
const applicationVerifier = new RecaptchaVerifier('recaptcha-container');
const provider = new PhoneAuthProvider(auth);
const verificationId = await provider.verifyPhoneNumber('+16505550101', applicationVerifier);
// Obtain the verificationCode from the user.
const phoneCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
const userCredential = await signInWithCredential(auth, phoneCredential);