API REST uwierzytelniania Firebase

Użycie API

Możesz wysyłać zapytania do backendu Firebase Auth za pośrednictwem interfejsu API REST. Można to wykorzystać do różnych operacji, takich jak tworzenie nowych użytkowników, logowanie się do istniejących oraz edytowanie lub usuwanie tych użytkowników.

W całym tym dokumencie API_KEY odnosi się do klucza Web API, który można uzyskać na stronie ustawień projektu w konsoli administracyjnej.

Wymień token niestandardowy na identyfikator i token odświeżania

Możesz wymienić niestandardowy token uwierzytelniania na identyfikator i token odświeżania, wysyłając żądanie HTTP POST do punktu końcowego Auth verifyCustomToken .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Ładunek treści żądania
Nazwa właściwości Typ Opis
znak strunowy Niestandardowy token Firebase Auth, z którego można utworzyć parę identyfikatorów i tokenów odświeżania.
zwróć bezpieczny token wartość logiczna Określa, czy zwrócić identyfikator i token odświeżania. Zawsze powinno być prawdą.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
idToken strunowy Token identyfikatora uwierzytelniania Firebase wygenerowany na podstawie dostarczonego tokena niestandardowego.
odśwież token strunowy Token odświeżania Firebase Auth wygenerowany na podstawie dostarczonego tokena niestandardowego.
Wygasa za strunowy Liczba sekund, w ciągu których wygasa token identyfikatora.

Prośba o próbkę

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"token":"[CUSTOM_TOKEN]","returnSecureToken":true}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK . Odpowiedź zawiera token identyfikatora Firebase i token odświeżania powiązany z tokenem niestandardowym.

Przykładowa odpowiedź

{
  "idToken": "[ID_TOKEN]",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Typowe kody błędów

  • INVALID_CUSTOM_TOKEN: Niestandardowy format tokena jest nieprawidłowy lub token jest z jakiegoś powodu nieważny (np. wygasł, nieprawidłowy podpis itp.)
  • CREDENTIAL_MISMATCH: Token niestandardowy odpowiada innemu projektowi Firebase.

Wymień token odświeżania na token identyfikacyjny

Możesz odświeżyć token identyfikatora Firebase, wysyłając żądanie HTTP POST do punktu końcowego securetoken.googleapis.com .

Metoda: POST

Typ zawartości: application/x-www-form-urlencoded

Punkt końcowy
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
Ładunek treści żądania
Nazwa właściwości Typ Opis
typ_grantu strunowy Typ przyznania tokena odświeżania, zawsze „refresh_token”.
token_odświeżenia strunowy Token odświeżania uwierzytelniania Firebase.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
Wygasa za strunowy Liczba sekund, w ciągu których wygasa token identyfikatora.
typ_tokena strunowy Typ tokena odświeżania, zawsze „Nosiciel”.
token_odświeżenia strunowy Token odświeżania Firebase Auth podany w żądaniu lub nowy token odświeżania.
id_token strunowy Token identyfikatora uwierzytelniania Firebase.
identyfikator użytkownika strunowy Uid odpowiadający podanemu tokenowi identyfikacyjnemu.
identyfikator_projektu strunowy Twój identyfikator projektu Firebase.

Prośba o próbkę

curl 'https://securetoken.googleapis.com/v1/token?key=[API_KEY]' \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data 'grant_type=refresh_token&refresh_token=[REFRESH_TOKEN]'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK . Odpowiedź zawiera nowy token identyfikatora Firebase i token odświeżania.

Przykładowa odpowiedź

{
  "expires_in": "3600",
  "token_type": "Bearer",
  "refresh_token": "[REFRESH_TOKEN]",
  "id_token": "[ID_TOKEN]",
  "user_id": "tRcfmLH7o2XrNELi...",
  "project_id": "1234567890"
}

Typowe kody błędów

  • TOKEN_EXPIRED: Dane uwierzytelniające użytkownika nie są już ważne. Użytkownik musi zalogować się ponownie.
  • USER_DISABLED: Konto użytkownika zostało wyłączone przez administratora.
  • USER_NOT_FOUND: Nie znaleziono użytkownika odpowiadającego tokenowi odświeżania. Prawdopodobnie użytkownik został usunięty.
  • Klucz API jest nieprawidłowy. Podaj prawidłowy klucz API. (podano nieprawidłowy klucz API)
  • INVALID_REFRESH_TOKEN: Podano nieprawidłowy token odświeżania.
  • Otrzymano nieprawidłowy ładunek JSON. Nieznana nazwa „refresh_tokens”: Nie można powiązać parametru zapytania. W wiadomości żądania nie można znaleźć pola „refresh_tokens”.
  • INVALID_GRANT_TYPE: Określony typ dotacji jest nieprawidłowy.
  • MISSING_REFRESH_TOKEN: Nie podano tokena odświeżania.
  • PROJECT_NUMBER_MISMATCH: Numer projektu tokena odświeżania nie jest zgodny z podanym kluczem API.

Zarejestruj się za pomocą adresu e-mail/hasła

Możesz utworzyć nowego użytkownika e-mail i hasło, wysyłając żądanie HTTP POST do punktu końcowego signupNewUser .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Ładunek treści żądania
Nazwa właściwości Typ Opis
e-mail strunowy Adres e-mail, który użytkownik ma utworzyć.
hasło strunowy Hasło, które użytkownik ma utworzyć.
zwróć bezpieczny token wartość logiczna Określa, czy zwrócić identyfikator i token odświeżania. Zawsze powinno być prawdą.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
idToken strunowy Token identyfikatora uwierzytelniania Firebase dla nowo utworzonego użytkownika.
e-mail strunowy Adres e-mail nowo utworzonego użytkownika.
odśwież token strunowy Token odświeżania Firebase Auth dla nowo utworzonego użytkownika.
Wygasa za strunowy Liczba sekund, w ciągu których wygasa token identyfikatora.
identyfikator lokalny strunowy UID nowo utworzonego użytkownika.

Prośba o próbkę

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK . Odpowiedź zawiera token identyfikatora Firebase i token odświeżania powiązany z nowym kontem.

Przykładowa odpowiedź

{
  "idToken": "[ID_TOKEN]",
  "email": "[user@example.com]",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "localId": "tRcfmLH7..."
}

Typowe kody błędów

  • EMAIL_EXISTS: Adres e-mail jest już używany przez inne konto.
  • OPERATION_NOT_ALLOWED: Logowanie za pomocą hasła jest wyłączone w tym projekcie.
  • TOO_MANY_ATTEMPTS_TRY_LATER: Zablokowaliśmy wszystkie żądania z tego urządzenia z powodu nietypowej aktywności. Spróbuj ponownie później.

Zaloguj się za pomocą adresu e-mail/hasła

Możesz zalogować użytkownika przy użyciu adresu e-mail i hasła, wysyłając żądanie HTTP POST do punktu końcowego Auth verifyPassword .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Ładunek treści żądania
Nazwa właściwości Typ Opis
e-mail strunowy Adres e-mail, za pomocą którego użytkownik się loguje.
hasło strunowy Hasło do konta.
zwróć bezpieczny token wartość logiczna Określa, czy zwrócić identyfikator i token odświeżania. Zawsze powinno być prawdą.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
idToken strunowy Token identyfikatora uwierzytelniania Firebase dla uwierzytelnionego użytkownika.
e-mail strunowy Adres e-mail uwierzytelnionego użytkownika.
odśwież token strunowy Token odświeżania Firebase Auth dla uwierzytelnionego użytkownika.
Wygasa za strunowy Liczba sekund, w ciągu których wygasa token identyfikatora.
identyfikator lokalny strunowy UID uwierzytelnionego użytkownika.
zarejestrowany wartość logiczna Czy adres e-mail dotyczy istniejącego konta.

Prośba o próbkę

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK . Odpowiedź zawiera token identyfikatora Firebase i token odświeżania powiązany z istniejącym kontem e-mail/hasłem.

Przykładowa odpowiedź

{
  "localId": "ZY1rJK0eYLg...",
  "email": "[user@example.com]",
  "displayName": "",
  "idToken": "[ID_TOKEN]",
  "registered": true,
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Typowe kody błędów

  • EMAIL_NOT_FOUND: Brak rekordu użytkownika odpowiadającego temu identyfikatorowi. Użytkownik mógł zostać usunięty.
  • INVALID_PASSWORD: Hasło jest nieprawidłowe lub użytkownik nie ma hasła.
  • USER_DISABLED: Konto użytkownika zostało wyłączone przez administratora.

Zaloguj się anonimowo

Możesz zalogować użytkownika anonimowo, wysyłając żądanie HTTP POST do punktu końcowego signupNewUser .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Ładunek treści żądania
Nazwa właściwości Typ Opis
zwróć bezpieczny token wartość logiczna Określa, czy zwrócić identyfikator i token odświeżania. Zawsze powinno być prawdą.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
idToken strunowy Token identyfikatora uwierzytelniania Firebase dla nowo utworzonego użytkownika.
e-mail strunowy Ponieważ użytkownik jest anonimowy, pole to powinno być puste.
odśwież token strunowy Token odświeżania Firebase Auth dla nowo utworzonego użytkownika.
Wygasa za strunowy Liczba sekund, w ciągu których wygasa token identyfikatora.
identyfikator lokalny strunowy UID nowo utworzonego użytkownika.

Prośba o próbkę

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"returnSecureToken":true}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK . Odpowiedź zawiera token identyfikatora Firebase i token odświeżania powiązany z anonimowym użytkownikiem.

Przykładowa odpowiedź

{
  "idToken": "[ID_TOKEN]",
  "email": "",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "localId": "Jws4SVjpT..."
}

Typowe kody błędów

  • OPERATION_NOT_ALLOWED: Logowanie anonimowego użytkownika jest wyłączone w tym projekcie.

Zaloguj się przy użyciu danych uwierzytelniających OAuth

Możesz zalogować użytkownika przy użyciu poświadczeń OAuth, wysyłając żądanie HTTP POST do punktu końcowego verifyAssertion .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Ładunek treści żądania
Nazwa właściwości Typ Opis
żądanieUri strunowy Identyfikator URI, do którego dostawca tożsamości przekierowuje użytkownika z powrotem.
postTreść strunowy Zawiera dane uwierzytelniające OAuth (token identyfikacyjny lub token dostępu) i identyfikator dostawcy, który wystawia dane uwierzytelniające.
zwróć bezpieczny token wartość logiczna Określa, czy zwrócić identyfikator i token odświeżania. Zawsze powinno być prawdą.
zwrotIdpPoświadczenie wartość logiczna Czy wymusić zwrot danych uwierzytelniających OAuth w przypadku następujących błędów: FEDERATED_USER_ID_ALREADY_LINKED i EMAIL_EXISTS.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
federacyjny identyfikator strunowy Unikalny identyfikator identyfikuje konto dostawcy tożsamości.
identyfikator dostawcy strunowy Identyfikator powiązanego dostawcy (np. „google.com” w przypadku dostawcy Google).
identyfikator lokalny strunowy UID uwierzytelnionego użytkownika.
e-mail zweryfikowany wartość logiczna Czy adres e-mail logowania jest zweryfikowany.
e-mail strunowy Adres e-mail konta.
token oauthId strunowy Token identyfikacyjny OIDC, jeśli jest dostępny.
token dostępu oauth strunowy Token dostępu OAuth, jeśli jest dostępny.
oauthTokenSecret strunowy Sekret tokena OAuth 1.0, jeśli jest dostępny.
surowe informacje o użytkowniku strunowy Skrócona odpowiedź JSON zawierająca wszystkie dane dostawcy tożsamości odpowiadające podanemu poświadczeniu OAuth.
imię strunowy Imię konta.
nazwisko strunowy Nazwisko konta.
pełne imię i nazwisko strunowy Pełna nazwa konta.
wyświetlana nazwa strunowy Nazwa wyświetlana konta.
zdjęcieUrl strunowy Adres URL zdjęcia konta.
idToken strunowy Token identyfikatora uwierzytelniania Firebase dla uwierzytelnionego użytkownika.
odśwież token strunowy Token odświeżania Firebase Auth dla uwierzytelnionego użytkownika.
Wygasa za strunowy Liczba sekund, w ciągu których wygasa token identyfikatora.
potrzebujęPotwierdzenia wartość logiczna Czy istnieje już inne konto z tymi samymi danymi uwierzytelniającymi. Użytkownik będzie musiał zalogować się na oryginalne konto, a następnie połączyć z nim bieżące dane uwierzytelniające.

Przykładowe żądanie z tokenem identyfikatora OAuth

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK . Odpowiedź zawiera token identyfikatora Firebase i token odświeżania powiązany z uwierzytelnionym użytkownikiem.

Przykładowa odpowiedź z tokenem identyfikatora OAuth

{
  "federatedId": "https://accounts.google.com/1234567890",
  "providerId": "google.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthIdToken": "[GOOGLE_ID_TOKEN]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

Przykładowe żądanie z tokenem dostępu OAuth

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK . Odpowiedź zawiera token identyfikatora Firebase i token odświeżania powiązany z uwierzytelnionym użytkownikiem.

Przykładowa odpowiedź z tokenem dostępu OAuth

{
  "federatedId": "http://facebook.com/1234567890",
  "providerId": "facebook.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "https://scontent.xx.fbcdn.net/v/...",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

Przykładowe żądanie z poświadczeniami Twitter OAuth 1.0

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK . Odpowiedź zawiera token identyfikatora Firebase i token odświeżania powiązany z uwierzytelnionym użytkownikiem.

Przykładowa odpowiedź z poświadczeniami Twitter OAuth 1.0

{
  "federatedId": "http://twitter.com/1234567890",
  "providerId": "twitter.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]",
  "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "http://abs.twimg.com/sticky/...",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

Typowe kody błędów

  • OPERATION_NOT_ALLOWED: Odpowiedni dostawca jest wyłączony dla tego projektu.
  • INVALID_IDP_RESPONSE: Podane dane uwierzytelniające są błędnie sformułowane lub wygasły.

Pobierz dostawców poczty e-mail

Możesz przeszukać wszystkich dostawców powiązanych z określonym adresem e-mail, wysyłając żądanie HTTP POST do punktu końcowego Auth createAuthUri .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Ładunek treści żądania
Nazwa właściwości Typ Opis
identyfikator strunowy Adres e-mail użytkownika
kontynuujUri strunowy Identyfikator URI, do którego dostawca tożsamości przekierowuje użytkownika z powrotem. W tym przypadku jest to po prostu bieżący adres URL.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
wszyscyDostawcy Lista ciągów Lista dostawców, u których użytkownik logował się wcześniej.
zarejestrowany wartość logiczna Czy adres e-mail dotyczy istniejącego konta

Prośba o próbkę

curl 'https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"identifier":"[user@example.com]","continueUri":"[http://localhost:8080/app]"}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK . Odpowiedź zawiera listę dostawców powiązanych z wiadomością e-mail.

Przykładowa odpowiedź

{
  "allProviders": [
    "password",
    "google.com"
  ],
  "registered": true
}

Typowe kody błędów

  • INVALID_EMAIL: Adres e-mail jest źle sformatowany.

Wyślij wiadomość e-mail dotyczącą resetowania hasła

Możesz wysłać wiadomość e-mail dotyczącą resetowania hasła, wysyłając żądanie HTTP POST do punktu końcowego Auth getOobConfirmationCode .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Opcjonalne nagłówki
Nazwa właściwości Opis
Ustawienia regionalne X-Firebase Kod języka odpowiadający językowi użytkownika. Przekazanie tego spowoduje zlokalizowanie wiadomości e-mail dotyczącej resetowania hasła wysłanej do użytkownika.
Poproś o ładunek nadwozia
Nazwa właściwości Typ Opis
Typ żądania strunowy Rodzaj kodu OOB do zwrócenia. Aby zresetować hasło, powinno być „PASSWORD_RESET”.
e-mail strunowy Adres e-mail użytkownika.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
e-mail strunowy Adres e-mail użytkownika.

Prośba o próbkę

curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"requestType":"PASSWORD_RESET","email":"[user@example.com]"}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK .

Przykładowa odpowiedź

{
 "email": "[user@example.com]"
}

Typowe kody błędów

  • EMAIL_NOT_FOUND: Brak rekordu użytkownika odpowiadającego temu identyfikatorowi. Użytkownik mógł zostać usunięty.

Zweryfikuj kod resetowania hasła

Możesz zweryfikować kod resetowania hasła, wysyłając żądanie HTTP POST do punktu końcowego Auth resetPassword .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Ładunek treści żądania
Nazwa właściwości Typ Opis
oobCode strunowy Kod akcji e-mail wysłany na adres e-mail użytkownika w celu zresetowania hasła.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
e-mail strunowy Adres e-mail użytkownika.
Typ żądania strunowy Typ kodu akcji e-mail. Powinno być „PASSWORD_RESET”.

Prośba o próbkę

curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]"}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK .

Przykładowa odpowiedź

{
  "email": "[user@example.com]",
  "requestType": "PASSWORD_RESET"
}

Typowe kody błędów

  • OPERATION_NOT_ALLOWED: Logowanie za pomocą hasła jest wyłączone w tym projekcie.
  • EXPIRED_OOB_CODE: Kod akcji wygasł.
  • INVALID_OOB_CODE: Kod akcji jest nieprawidłowy. Może się to zdarzyć, jeśli kod jest zniekształcony, wygasł lub był już używany.

Potwierdź reset hasła

Możesz zastosować zmianę resetowania hasła, wysyłając żądanie HTTP POST do punktu końcowego Auth resetPassword .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Ładunek treści żądania
Nazwa właściwości Typ Opis
oobCode strunowy Kod akcji e-mail wysłany na adres e-mail użytkownika w celu zresetowania hasła.
nowe hasło strunowy Nowe hasło użytkownika.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
e-mail strunowy Adres e-mail użytkownika.
Typ żądania strunowy Typ kodu akcji e-mail. Powinno być „PASSWORD_RESET”.

Prośba o próbkę

curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"oobCode":"[PASSWORD_RESET_CODE]","newPassword":"[NEW_PASSWORD]"}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK .

Przykładowa odpowiedź

{
  "email": "[user@example.com]",
  "requestType": "PASSWORD_RESET"
}

Typowe kody błędów

  • OPERATION_NOT_ALLOWED: Logowanie za pomocą hasła jest wyłączone w tym projekcie.
  • EXPIRED_OOB_CODE: Kod akcji wygasł.
  • INVALID_OOB_CODE: Kod akcji jest nieprawidłowy. Może się to zdarzyć, jeśli kod jest zniekształcony, wygasł lub był już używany.
  • USER_DISABLED: Konto użytkownika zostało wyłączone przez administratora.

Zmień adres e-mail

Możesz zmienić adres e-mail użytkownika, wysyłając żądanie HTTP POST do punktu końcowego Auth setAccountInfo .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Opcjonalne nagłówki
Nazwa właściwości Opis
Ustawienia regionalne X-Firebase Kod języka odpowiadający językowi użytkownika. Przekazanie tej opcji spowoduje zlokalizowanie wiadomości e-mail o odwołaniu zmiany wysłanej do użytkownika.
Poproś o ładunek nadwozia
Nazwa właściwości Typ Opis
idToken strunowy Token identyfikatora uwierzytelniania Firebase dla użytkownika.
e-mail strunowy Nowy adres e-mail użytkownika.
zwróć bezpieczny token wartość logiczna Określa, czy zwrócić identyfikator i token odświeżania.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
identyfikator lokalny strunowy UID bieżącego użytkownika.
e-mail strunowy Adres e-mail użytkownika.
Hasło Hasła strunowy Wersja skrótu hasła.
dostawcaInformacje o użytkowniku Lista obiektów JSON Lista wszystkich połączonych obiektów dostawców, które zawierają „providerId” i „federatedId”.
idToken strunowy Nowy token identyfikatora uwierzytelniania Firebase dla użytkownika.
odśwież token strunowy Token odświeżania uwierzytelniania Firebase.
Wygasa za strunowy Liczba sekund, w ciągu których wygasa token identyfikatora.

Prośba o próbkę

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary \
'{"idToken":"[FIREBASE_ID_TOKEN]","email":"[user@example2.com]","returnSecureToken":true}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK . Odpowiedź zawiera nowy token identyfikatora Firebase i token odświeżania powiązany z użytkownikiem.

Przykładowa odpowiedź

{
  "localId": "tRcfmLH7o2...",
  "email": "[user@example2.com]",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "[user@example2.com]"
    }
  ],
  "idToken": "[NEW_ID_TOKEN]",
  "refreshToken": "[NEW_REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Typowe kody błędów

  • EMAIL_EXISTS: Adres e-mail jest już używany przez inne konto.
  • INVALID_ID_TOKEN: Poświadczenia użytkownika nie są już ważne. Użytkownik musi zalogować się ponownie.

Zmień hasło

Hasło użytkownika można zmienić, wysyłając żądanie HTTP POST do punktu końcowego Auth setAccountInfo .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Ładunek treści żądania
Nazwa właściwości Typ Opis
idToken strunowy Token identyfikatora uwierzytelniania Firebase dla użytkownika.
hasło strunowy Nowe hasło użytkownika.
zwróć bezpieczny token wartość logiczna Określa, czy zwrócić identyfikator i token odświeżania.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
identyfikator lokalny strunowy UID bieżącego użytkownika.
e-mail strunowy Adres e-mail użytkownika.
Hasło Hasła strunowy Wersja skrótu hasła.
dostawcaInformacje o użytkowniku Lista obiektów JSON Lista wszystkich połączonych obiektów dostawców, które zawierają „providerId” i „federatedId”.
idToken strunowy Nowy token identyfikatora uwierzytelniania Firebase dla użytkownika.
odśwież token strunowy Token odświeżania uwierzytelniania Firebase.
Wygasa za strunowy Liczba sekund, w ciągu których wygasa token identyfikatora.

Prośba o próbkę

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary \
'{"idToken":"[FIREBASE_ID_TOKEN]","password":"[NEW_PASSWORD]","returnSecureToken":true}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK . Odpowiedź zawiera nowy token identyfikatora Firebase i token odświeżania powiązany z użytkownikiem.

Przykładowa odpowiedź

{
  "localId": "tRcfmLH7o2...",
  "email": "[user@example.com]",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "[user@example.com]"
    }
  ],
  "idToken": "[NEW_ID_TOKEN]",
  "refreshToken": "[NEW_REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Typowe kody błędów

  • INVALID_ID_TOKEN: Poświadczenia użytkownika nie są już ważne. Użytkownik musi zalogować się ponownie.
  • WEAK_PASSWORD: Hasło musi mieć co najmniej 6 znaków.

Zaktualizować profil

Możesz zaktualizować profil użytkownika (wyświetlaną nazwę / adres URL zdjęcia), wysyłając żądanie HTTP POST do punktu końcowego Auth setAccountInfo .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Ładunek treści żądania
Nazwa właściwości Typ Opis
idToken strunowy Token identyfikatora uwierzytelniania Firebase dla użytkownika.
wyświetlana nazwa strunowy Nowa wyświetlana nazwa użytkownika.
zdjęcieUrl strunowy Adres URL nowego zdjęcia użytkownika.
usuńatrybut Lista ciągów Lista atrybutów do usunięcia, „DISPLAY_NAME” lub „PHOTO_URL”. Spowoduje to unieważnienie tych wartości.
zwróć bezpieczny token wartość logiczna Określa, czy zwrócić identyfikator i token odświeżania.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
identyfikator lokalny strunowy UID bieżącego użytkownika.
e-mail strunowy Adres e-mail użytkownika.
wyświetlana nazwa strunowy Nowa wyświetlana nazwa użytkownika.
zdjęcieUrl strunowy Adres URL nowego zdjęcia użytkownika.
Hasło Hasła strunowy Wersja skrótu hasła.
dostawcaInformacje o użytkowniku Lista obiektów JSON Lista wszystkich połączonych obiektów dostawców, które zawierają „providerId” i „federatedId”.
idToken strunowy Nowy token identyfikatora uwierzytelniania Firebase dla użytkownika.
odśwież token strunowy Token odświeżania uwierzytelniania Firebase.
Wygasa za strunowy Liczba sekund, w ciągu których wygasa token identyfikatora.

Prośba o próbkę

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary \
'{"idToken":"[ID_TOKEN]","displayName":"[NAME]","photoUrl":"[URL]","returnSecureToken":true}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK .

Przykładowa odpowiedź

{
  "localId": "tRcfmLH...",
  "email": "user@example2.com",
  "displayName": "John Doe",
  "photoUrl": "[http://localhost:8080/img1234567890/photo.png]",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "user@example2.com",
      "displayName": "John Doe",
      "photoUrl": "http://localhost:8080/img1234567890/photo.png"
    }
  ],
  "idToken": "[NEW_ID_TOKEN]",
  "refreshToken": "[NEW_REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Typowe kody błędów

  • INVALID_ID_TOKEN: Poświadczenia użytkownika nie są już ważne. Użytkownik musi zalogować się ponownie.

Uzyskaj dane użytkownika

Możesz uzyskać dane użytkownika, wysyłając żądanie HTTP POST do punktu końcowego Auth getAccountInfo .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Ładunek treści żądania
Nazwa właściwości Typ Opis
idToken strunowy Token identyfikatora Firebase konta.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
użytkownicy Lista obiektów JSON Konto powiązane z danym tokenem identyfikatora Firebase. Więcej szczegółów znajdziesz poniżej.
Ładunek odpowiedzi (zawartość tablicy users )
Nazwa właściwości Typ Opis
identyfikator lokalny strunowy UID bieżącego użytkownika.
e-mail strunowy Adres e-mail konta.
e-mail zweryfikowany wartość logiczna Czy adres e-mail konta został zweryfikowany.
wyświetlana nazwa strunowy Nazwa wyświetlana konta.
dostawcaInformacje o użytkowniku Lista obiektów JSON Lista wszystkich połączonych obiektów dostawców, które zawierają „providerId” i „federatedId”.
zdjęcieUrl strunowy Adres URL zdjęcia konta.
Hasło Hasła strunowy Wersja skrótu hasła.
hasłoAktualizacja o godz podwójnie Sygnatura czasowa (w milisekundach) ostatniej zmiany hasła do konta.
ważneOd strunowy Sygnatura czasowa w sekundach wyznaczająca granicę, po przekroczeniu której token identyfikatora Firebase uznaje się za unieważniony.
wyłączony wartość logiczna Czy konto jest wyłączone, czy nie.
ostatnie logowanieAt strunowy Sygnatura czasowa w milisekundach, o której konto logowało się ostatnio.
utworzony o godz strunowy Sygnatura czasowa (w milisekundach), o której utworzono konto.
niestandardowe uwierzytelnianie wartość logiczna Czy konto jest uwierzytelnione przez programistę.

Prośba o próbkę

curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK . Odpowiedź będzie zawierać wszystkie informacje o użytkowniku powiązane z kontem.

Przykładowa odpowiedź

{
  "users": [
    {
      "localId": "ZY1rJK0...",
      "email": "user@example.com",
      "emailVerified": false,
      "displayName": "John Doe",
      "providerUserInfo": [
        {
          "providerId": "password",
          "displayName": "John Doe",
          "photoUrl": "http://localhost:8080/img1234567890/photo.png",
          "federatedId": "user@example.com",
          "email": "user@example.com",
          "rawId": "user@example.com",
          "screenName": "user@example.com"
        }
      ],
      "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg",
      "passwordHash": "...",
      "passwordUpdatedAt": 1.484124177E12,
      "validSince": "1484124177",
      "disabled": false,
      "lastLoginAt": "1484628946000",
      "createdAt": "1484124142000",
      "customAuth": false
    }
  ]
}

Typowe kody błędów

  • INVALID_ID_TOKEN: Poświadczenia użytkownika nie są już ważne. Użytkownik musi zalogować się ponownie.
  • USER_NOT_FOUND: Brak rekordu użytkownika odpowiadającego temu identyfikatorowi. Użytkownik mógł zostać usunięty.

Możesz połączyć adres e-mail/hasło z bieżącym użytkownikiem, wysyłając żądanie HTTP POST do punktu końcowego Auth setAccountInfo .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Ładunek treści żądania
Nazwa właściwości Typ Opis
idToken strunowy Token identyfikatora Firebase konta, z którym próbujesz połączyć dane uwierzytelniające.
e-mail strunowy Adres e-mail umożliwiający połączenie z kontem.
hasło strunowy Nowe hasło do konta.
zwróć bezpieczny token strunowy Określa, czy zwrócić identyfikator i token odświeżania. Zawsze powinno być prawdą.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
identyfikator lokalny strunowy UID bieżącego użytkownika.
e-mail strunowy Adres e-mail konta.
wyświetlana nazwa strunowy Nazwa wyświetlana konta.
zdjęcieUrl strunowy Adres URL zdjęcia konta.
Hasło Hasła strunowy Wersja skrótu hasła.
dostawcaInformacje o użytkowniku Lista obiektów JSON Lista wszystkich połączonych obiektów dostawców, które zawierają „providerId” i „federatedId”.
e-mail zweryfikowany wartość logiczna Czy adres e-mail konta został zweryfikowany.
idToken strunowy Nowy token identyfikatora uwierzytelniania Firebase dla użytkownika.
odśwież token strunowy Token odświeżania uwierzytelniania Firebase.
Wygasa za strunowy Liczba sekund, w ciągu których wygasa token identyfikatora.

Prośba o próbkę

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary \
'{"idToken":"[ID_TOKEN]","email":"[user@example.com]","password":"[PASS]","returnSecureToken":true}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK . Odpowiedź zawiera token identyfikatora Firebase i token odświeżania powiązany z uwierzytelnionym użytkownikiem.

Przykładowa odpowiedź

{
  "localId": "huDwUz...",
  "email": "user@example.com",
  "displayName": "John Doe",
  "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "user@example.com"
    }
  ],
  "idToken": "[ID_TOKEN]",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "emailVerified": false
}

Typowe kody błędów

  • CREDENTIAL_TOO_OLD_LOGIN_AGAIN: Dane uwierzytelniające użytkownika nie są już ważne. Użytkownik musi zalogować się ponownie.
  • TOKEN_EXPIRED: Dane uwierzytelniające użytkownika nie są już ważne. Użytkownik musi zalogować się ponownie.
  • INVALID_ID_TOKEN: Poświadczenia użytkownika nie są już ważne. Użytkownik musi zalogować się ponownie.
  • WEAK_PASSWORD: Hasło musi mieć co najmniej 6 znaków.

Możesz połączyć dane uwierzytelniające OAuth z użytkownikiem, wysyłając żądanie HTTP POST do punktu końcowego Auth verifyAssertion .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Ładunek treści żądania
Nazwa właściwości Typ Opis
idToken strunowy Token identyfikatora Firebase konta, z którym próbujesz połączyć dane uwierzytelniające.
żądanieUri strunowy Identyfikator URI, do którego dostawca tożsamości przekierowuje użytkownika z powrotem.
postTreść strunowy Zawiera dane uwierzytelniające OAuth (token identyfikacyjny lub token dostępu) i identyfikator dostawcy, który wystawia dane uwierzytelniające.
zwróć bezpieczny token wartość logiczna Określa, czy zwrócić identyfikator i token odświeżania. Zawsze powinno być prawdą.
zwrotIdpPoświadczenie wartość logiczna Czy wymusić zwrot danych uwierzytelniających OAuth w przypadku następujących błędów: FEDERATED_USER_ID_ALREADY_LINKED i EMAIL_EXISTS.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
federacyjny identyfikator strunowy Unikalny identyfikator identyfikuje konto dostawcy tożsamości.
identyfikator dostawcy strunowy Identyfikator powiązanego dostawcy (np. „google.com” w przypadku dostawcy Google).
identyfikator lokalny strunowy UID uwierzytelnionego użytkownika.
e-mail zweryfikowany wartość logiczna Czy adres e-mail logowania jest zweryfikowany.
e-mail strunowy Adres e-mail konta.
token oauthId strunowy Token identyfikacyjny OIDC, jeśli jest dostępny.
token dostępu oauth strunowy Token dostępu OAuth, jeśli jest dostępny.
oauthTokenSecret strunowy Sekret tokena OAuth 1.0, jeśli jest dostępny.
surowe informacje o użytkowniku strunowy Skrócona odpowiedź JSON zawierająca wszystkie dane dostawcy tożsamości odpowiadające podanemu poświadczeniu OAuth.
imię strunowy Imię konta.
nazwisko strunowy Nazwisko konta.
pełne imię i nazwisko strunowy Pełna nazwa konta.
wyświetlana nazwa strunowy Nazwa wyświetlana konta.
zdjęcieUrl strunowy Adres URL zdjęcia konta.
idToken strunowy Token identyfikatora uwierzytelniania Firebase dla uwierzytelnionego użytkownika.
odśwież token strunowy Token odświeżania Firebase Auth dla uwierzytelnionego użytkownika.
Wygasa za strunowy Liczba sekund, w ciągu których wygasa token identyfikatora.

Przykładowe żądanie z tokenem identyfikatora OAuth

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","idToken":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK . Odpowiedź zawiera token identyfikatora Firebase i token odświeżania powiązany z uwierzytelnionym użytkownikiem.

Przykładowa odpowiedź z tokenem identyfikatora OAuth

{
  "federatedId": "https://accounts.google.com/1234567890",
  "providerId": "google.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthIdToken": "[GOOGLE_ID_TOKEN]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

Przykładowe żądanie z tokenem dostępu OAuth

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","idToken":"[FIREBASE_ID_TOKEN]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK . Odpowiedź zawiera token identyfikatora Firebase i token odświeżania powiązany z uwierzytelnionym użytkownikiem.

Przykładowa odpowiedź z tokenem dostępu OAuth

{
  "federatedId": "http://facebook.com/1234567890",
  "providerId": "facebook.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "https://scontent.xx.fbcdn.net/v/...",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

Przykładowe żądanie z poświadczeniami Twitter OAuth 1.0

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","idToken":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK . Odpowiedź zawiera token identyfikatora Firebase i token odświeżania powiązany z uwierzytelnionym użytkownikiem.

Przykładowa odpowiedź z poświadczeniami Twitter OAuth 1.0

{
  "federatedId": "http://twitter.com/1234567890",
  "providerId": "twitter.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]",
  "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "http://abs.twimg.com/sticky/...",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

Typowe kody błędów

  • OPERATION_NOT_ALLOWED: Odpowiedni dostawca jest wyłączony dla tego projektu.
  • INVALID_IDP_RESPONSE: Podane dane uwierzytelniające są błędnie sformułowane lub wygasły.
  • INVALID_ID_TOKEN: Poświadczenia użytkownika nie są już ważne. Użytkownik musi zalogować się ponownie.
  • EMAIL_EXISTS: Adres e-mail jest już używany przez inne konto.
  • FEDERATED_USER_ID_ALREADY_LINKED: To dane uwierzytelniające są już powiązane z innym kontem użytkownika.

Możesz odłączyć dostawcę od bieżącego użytkownika, wysyłając żądanie HTTP POST do punktu końcowego Auth setAccountInfo .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Ładunek treści żądania
Nazwa właściwości Typ Opis
idToken strunowy Token identyfikatora Firebase konta.
usuń dostawcę Lista ciągów Lista identyfikatorów dostawców do odłączenia, np.: „google.com”, „hasło” itp.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
identyfikator lokalny strunowy UID bieżącego użytkownika.
e-mail strunowy Adres e-mail konta.
wyświetlana nazwa strunowy Nazwa wyświetlana konta.
zdjęcieUrl strunowy Adres URL zdjęcia konta.
Hasło Hasła strunowy Wersja skrótu hasła.
dostawcaInformacje o użytkowniku Lista obiektów JSON Lista wszystkich połączonych obiektów dostawców, które zawierają „providerId” i „federatedId”.
e-mail zweryfikowany wartość logiczna Czy adres e-mail konta został zweryfikowany.

Prośba o próbkę

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"idToken":"[FIREBASE_ID_TOKEN]","deleteProvider":["[facebook.com]"]}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK .

Przykładowa odpowiedź

{
  "localId": "huDwUz...",
  "email": "user@example.com",
  "displayName": "John Doe",
  "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "google.com",
      "federatedId": "1234567890",
      "displayName": "John Doe",
      "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg"
    },
    {
      "providerId": "password",
      "federatedId": "user@example.com"
    }
  ],
  "emailVerified": "true"
}

Typowe kody błędów

  • INVALID_ID_TOKEN: Dane uwierzytelniające użytkownika nie są już ważne. Użytkownik musi zalogować się ponownie.

Wyślij weryfikację e-mailem

Możesz wysłać weryfikację e-mailem dla bieżącego użytkownika, wysyłając żądanie HTTP POST do punktu końcowego Auth getOobConfirmationCode .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Opcjonalne nagłówki
Nazwa właściwości Opis
Ustawienia regionalne X-Firebase Kod języka odpowiadający językowi użytkownika. Przekazanie tego spowoduje zlokalizowanie wiadomości e-mail wysłanej do użytkownika.
Poproś o ładunek nadwozia
Nazwa właściwości Typ Opis
Typ żądania strunowy Typ kodu potwierdzającego do wysłania. Zawsze powinno być „VERIFY_EMAIL”.
idToken strunowy Token identyfikatora Firebase użytkownika do zweryfikowania.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
e-mail strunowy Adres e-mail konta.

Prośba o próbkę

curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"requestType":"VERIFY_EMAIL","idToken":"[FIREBASE_ID_TOKEN]"}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK .

Przykładowa odpowiedź

{
  "email": "user@example.com"
}

Typowe kody błędów

  • INVALID_ID_TOKEN: Dane uwierzytelniające użytkownika nie są już ważne. Użytkownik musi zalogować się ponownie.
  • USER_NOT_FOUND: Brak rekordu użytkownika odpowiadającego temu identyfikatorowi. Użytkownik mógł zostać usunięty.

Potwierdź weryfikację e-mailową

Możesz potwierdzić kod weryfikacyjny e-mailem, wysyłając żądanie HTTP POST do punktu końcowego Auth setAccountInfo .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Ładunek treści żądania
Nazwa właściwości Typ Opis
oobCode strunowy Kod akcji wysłany na adres e-mail użytkownika w celu weryfikacji e-mailem.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
e-mail strunowy Adres e-mail konta.
wyświetlana nazwa strunowy Nazwa wyświetlana konta.
zdjęcieUrl strunowy Adres URL zdjęcia konta.
Hasło Hasła strunowy Hash hasła.
dostawcaInformacje o użytkowniku Lista obiektów JSON Lista wszystkich połączonych obiektów dostawców, które zawierają „providerId” i „federatedId”.
e-mail zweryfikowany wartość logiczna Czy adres e-mail konta został zweryfikowany.

Prośba o próbkę

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"oobCode":"[VERIFICATION_CODE]"}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK .

Przykładowa odpowiedź

{
  "localId": "FhyStE...",
  "email": "user@example.com",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "user@example.com"
    }
  ]
}

Typowe kody błędów

  • EXPIRED_OOB_CODE: Kod akcji wygasł.
  • INVALID_OOB_CODE: Kod akcji jest nieprawidłowy. Może się to zdarzyć, jeśli kod jest zniekształcony, wygasł lub był już używany.
  • USER_DISABLED: Konto użytkownika zostało wyłączone przez administratora.
  • EMAIL_NOT_FOUND: Brak rekordu użytkownika odpowiadającego temu identyfikatorowi. Użytkownik mógł zostać usunięty.

Usuń konto

Możesz usunąć bieżącego użytkownika, wysyłając żądanie HTTP POST do punktu końcowego Auth deleteAccount .

Metoda: POST

Typ zawartości: aplikacja/json

Punkt końcowy
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Ładunek treści żądania
Nazwa właściwości Typ Opis
idToken strunowy Token identyfikatora Firebase użytkownika do usunięcia.
Ładunek odpowiedzi
Nazwa właściwości Typ Opis

Prośba o próbkę

curl 'https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'

Pomyślne żądanie jest sygnalizowane kodem stanu HTTP 200 OK .

Typowe kody błędów

  • INVALID_ID_TOKEN: Poświadczenia użytkownika nie są już ważne. Użytkownik musi zalogować się ponownie.
  • USER_NOT_FOUND: Brak rekordu użytkownika odpowiadającego temu identyfikatorowi. Użytkownik mógł zostać usunięty.

Emulator uwierzytelniania Firebase

Pakiet Firebase Local Emulator Suite zawiera emulator uwierzytelniania , którego można używać do lokalnego prototypowania i testowania przepływów uwierzytelniania. Emulator udostępnia następujące punkty końcowe REST.

Wyczyść konta użytkowników

Usuń wszystkie konta w określonym projekcie, niezależnie od stanu.

Metoda: USUŃ

Punkt końcowy

Należy pamiętać, że domyślnym portem emulatora uwierzytelniania jest 9099 . Sprawdź wyjście terminala pod kątem aktualnie używanego portu.

http://localhost:9099/emulator/v1/projects/{project-id}/accounts

Pobierz konfigurację emulatora

Pobierz konfigurację specyficzną dla emulatora dla określonego projektu.

Metoda: POBIERZ

Punkt końcowy

Należy pamiętać, że domyślnym portem emulatora uwierzytelniania jest 9099 . Sprawdź wyjście terminala pod kątem aktualnie używanego portu.

http://localhost:9099/emulator/v1/projects/{project-id}/config
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
zalogować się obiekt obiekt konfiguracyjnysignIn zawierający pojedynczy klucz, allowDuplicateEmails (boolean).

Konfiguracja emulatora poprawki

Zaktualizuj konfigurację specyficzną dla emulatora dla określonego projektu.

Metoda: PATRZ

Punkt końcowy

Należy pamiętać, że 9099 jest domyślnym portem dla emulatora uwierzytelniania. Sprawdź wyjście terminala dla rzeczywistego używanego portu.

Typ treści: aplikacja/JSON

http://localhost:9099/emulator/v1/projects/{project-id}/config
żądanie ładunku ciała
Nazwa właściwości Typ Opis
zalogować się obiekt Pożądany obiekt konfiguracji Signin z pojedynczym kluczem, allowDuplicateEmails (boolean).
Ładunek odpowiedzi
Nazwa właściwości Typ Opis
zalogować się obiekt Obiekt konfiguracji Signin po pojedynczym kluczu, allowDuplicateEmails (Boolean).

Odzyskać kody uwierzytelniania poza pasmem

Jeśli przepływy uwierzytelniania, które testujesz, zwykle generowałoby kody poza pasmem (np. Kody weryfikacji e-mail, kody resetowania hasła), emulator przechowuje takie kody wewnętrznie, aż będą używane.

Metoda: Zdobądź

Punkt końcowy

Należy pamiętać, że 9099 jest domyślnym portem dla emulatora uwierzytelniania. Sprawdź wyjście terminala dla rzeczywistego używanego portu.

http://localhost:9099/emulator/v1/projects/{project-id}/oobCodes
Odpowiedź ładunek
Nazwa właściwości Typ Opis
oobcodes szyk Szereg obiektów zawierających szczegóły wszystkich oczekujących kodów potwierdzających. Każdy obiekt zawiera email (string), oobCode (string), oobLink (string) i requestType (string)

Odzyskaj kody weryfikacji SMS

Jeśli testujesz przepływy uwierzytelniania telefonu/SMS, emulator przechowuje takie kody SMS wewnętrznie, dopóki nie zostaną użyte.

Metoda: Zdobądź

Punkt końcowy

Należy pamiętać, że 9099 jest domyślnym portem dla emulatora uwierzytelniania. Sprawdź wyjście terminala dla rzeczywistego używanego portu.

http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
Odpowiedź ładunek
Nazwa właściwości Typ Opis
Kod weryfikacyjny szyk Szereg obiektów zawierających szczegóły wszystkich oczekujących kodów weryfikacji. Każdy obiekt zawiera phoneNumber (String) i sessionCode (String).

Odpowiedź na błąd

Format odpowiedzi na błąd

Za każdym razem, gdy błąd jest zwracany z serwera zaplecza dla dowolnego z powyższych interfejsów API, odpowiedź będzie miała następujący format.

Przykładowa odpowiedź

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "invalid",
        "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
      }
    ],
    "code": 400,
    "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
  }
}

Kod błędu jest uzyskiwany z pola wiadomości. Wszystkie powyższe kody błędów odnoszą się do zawartości pola wiadomości.