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ńcowyhttps://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ą. |
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ńcowyhttps://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. |
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ńcowyhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]Ładunek treści żądania
Nazwa właściwości | Typ | Opis |
---|---|---|
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ą. |
Nazwa właściwości | Typ | Opis |
---|---|---|
idToken | strunowy | Token identyfikatora uwierzytelniania Firebase dla nowo utworzonego użytkownika. |
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ńcowyhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]Ładunek treści żądania
Nazwa właściwości | Typ | Opis |
---|---|---|
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ą. |
Nazwa właściwości | Typ | Opis |
---|---|---|
idToken | strunowy | Token identyfikatora uwierzytelniania Firebase dla uwierzytelnionego użytkownika. |
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ńcowyhttps://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ą. |
Nazwa właściwości | Typ | Opis |
---|---|---|
idToken | strunowy | Token identyfikatora uwierzytelniania Firebase dla nowo utworzonego użytkownika. |
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ńcowyhttps://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. |
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. |
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ńcowyhttps://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. |
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ńcowyhttps://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. |
Nazwa właściwości | Typ | Opis |
---|---|---|
Typ żądania | strunowy | Rodzaj kodu OOB do zwrócenia. Aby zresetować hasło, powinno być „PASSWORD_RESET”. |
strunowy | Adres e-mail użytkownika. |
Nazwa właściwości | Typ | Opis |
---|---|---|
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ńcowyhttps://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. |
Nazwa właściwości | Typ | Opis |
---|---|---|
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ńcowyhttps://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. |
Nazwa właściwości | Typ | Opis |
---|---|---|
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ńcowyhttps://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. |
Nazwa właściwości | Typ | Opis |
---|---|---|
idToken | strunowy | Token identyfikatora uwierzytelniania Firebase dla użytkownika. |
strunowy | Nowy adres e-mail użytkownika. | |
zwróć bezpieczny token | wartość logiczna | Określa, czy zwrócić identyfikator i token odświeżania. |
Nazwa właściwości | Typ | Opis |
---|---|---|
identyfikator lokalny | strunowy | UID bieżącego użytkownika. |
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ńcowyhttps://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. |
Nazwa właściwości | Typ | Opis |
---|---|---|
identyfikator lokalny | strunowy | UID bieżącego użytkownika. |
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ńcowyhttps://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. |
Nazwa właściwości | Typ | Opis |
---|---|---|
identyfikator lokalny | strunowy | UID bieżącego użytkownika. |
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ńcowyhttps://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. |
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. |
users
)Nazwa właściwości | Typ | Opis |
---|---|---|
identyfikator lokalny | strunowy | UID bieżącego użytkownika. |
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.
Link z adresem e-mail/hasłem
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ńcowyhttps://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. |
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ą. |
Nazwa właściwości | Typ | Opis |
---|---|---|
identyfikator lokalny | strunowy | UID bieżącego użytkownika. |
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.
Połącz z danymi uwierzytelniającymi OAuth
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ńcowyhttps://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. |
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. |
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.
Odłącz dostawcę
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ńcowyhttps://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. |
Nazwa właściwości | Typ | Opis |
---|---|---|
identyfikator lokalny | strunowy | UID bieżącego użytkownika. |
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ńcowyhttps://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. |
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. |
Nazwa właściwości | Typ | Opis |
---|---|---|
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ńcowyhttps://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. |
Nazwa właściwości | Typ | Opis |
---|---|---|
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ńcowyhttps://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. |
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). |
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}/oobCodesOdpowiedź ł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}/verificationCodesOdpowiedź ł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.