Wykorzystanie interfejsu API
Możesz wysyłać zapytania do backendu Uwierzytelniania Firebase za pomocą interfejsu API REST. Można to wykorzystać do różnych operacji, takich jak jak tworzenie nowych użytkowników, logowanie się do istniejących i edytowanie lub usuwanie tych użytkowników.
W tym dokumencie API_KEY
odnosi się do klucza interfejsu Web API.
które można uzyskać na
ustawienia projektu
w konsoli administracyjnej.
Niestandardowy token wymiany dla identyfikatora i tokenu odświeżania
Możesz wymienić niestandardowy token uwierzytelniania na identyfikator i token odświeżania, wysyłając kod HTTP
Żądanie POST
do punktu końcowego uwierzytelniania verifyCustomToken
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Nazwa właściwości | Typ | Opis |
---|---|---|
token | ciąg znaków | Niestandardowy token uwierzytelniania Firebase, z którego można utworzyć identyfikator i parę tokenów odświeżania. |
zwrotSecureToken | wartość logiczna | Określa, czy zwracać identyfikator i token odświeżania. Wymagana jest zawsze wartość true (prawda). |
Nazwa właściwości | Typ | Opis |
---|---|---|
idToken | ciąg znaków | Token identyfikatora uwierzytelniania Firebase wygenerowany na podstawie podanego tokena niestandardowego. |
OdświeżToken | ciąg znaków | Token odświeżania Uwierzytelniania Firebase wygenerowany na podstawie podanego tokena niestandardowego. |
wygasaZa | ciąg znaków | Liczba sekund, po których token identyfikatora wygasa. |
Przykładowe żądanie
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"token":"[CUSTOM_TOKEN]","returnSecureToken":true}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu. Odpowiedź zawiera token identyfikatora Firebase i token odświeżania powiązany
za pomocą tokena niestandardowego.
Przykładowa odpowiedź
{ "idToken": "[ID_TOKEN]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
Typowe kody błędów
- INVALID_CUSTOM_TOKEN: format tokena niestandardowego jest nieprawidłowy lub token jest nieprawidłowy dla z jakiegoś powodu (np. wygasła, podpis jest nieprawidłowy itp.)
- CREDENTIAL_MISMATCH: Token niestandardowy odpowiada innemu projektowi Firebase.
Wymiana tokena odświeżania na token identyfikatora
Możesz odświeżyć token identyfikatora Firebase, wysyłając HTTP
Żądanie POST
do punktu końcowego securetoken.googleapis.com
.
Metoda: POST
Content-Type: aplikacja/x-www-form-urlencoded
Punkt końcowyhttps://securetoken.googleapis.com/v1/token?key=[API_KEY]
Nazwa właściwości | Typ | Opis |
---|---|---|
grant_type | ciąg znaków | Typ przyznania tokena odświeżania, zawsze „refresh_token”. |
token_odświeżania | ciąg znaków | Token odświeżania uwierzytelniania Firebase. |
Nazwa właściwości | Typ | Opis |
---|---|---|
expires_in | ciąg znaków | Liczba sekund, po których token identyfikatora wygasa. |
token_type | ciąg znaków | Typ tokena odświeżania, zawsze „Bearer”. |
token_odświeżania | ciąg znaków | Token odświeżania uwierzytelniania Firebase podany w żądaniu lub nowy token odświeżania. |
token_id | ciąg znaków | Token identyfikatora uwierzytelniania Firebase. |
user_id | ciąg znaków | Identyfikator UID odpowiadający podanemu tokenowi identyfikatora. |
project_id (identyfikator projektu), | ciąg znaków | Identyfikator Twojego projektu Firebase. |
Przykładowe żądanie
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]'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu. 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_Wygasła: dane logowania użytkownika straciły ważność. Użytkownik musi się ponownie zalogować.
- 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 konto użytkownika zostało usunięte.
- Klucz interfejsu API jest nieprawidłowy. Podaj prawidłowy klucz interfejsu API. (podano nieprawidłowy klucz interfejsu API)
- INVALID_REFRESH_TOKEN: podano nieprawidłowy token odświeżania.
- Odebrano nieprawidłowy ładunek JSON. Nieznana nazwa „refresh_tokens”: nie można powiązać zapytania . Pole „refresh_tokens” nie można znaleźć w wiadomości z żądaniem.
- INVALID_GRANT_TYPE: podany typ uwierzytelnienia jest nieprawidłowy.
- MISSING_REFRESH_TOKEN: nie podano tokena odświeżania.
- PROJECT_NUMBER_MISMATCH: Numer projektu dla tokena odświeżania nie jest zgodny z podanym kluczem interfejsu API.
Zarejestruj się za pomocą adresu e-mail / hasła
Możesz utworzyć nowego użytkownika z adresem e-mail i hasłem, wysyłając kod HTTP.
Żądanie POST
do punktu końcowego uwierzytelniania signupNewUser
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Nazwa właściwości | Typ | Opis |
---|---|---|
ciąg znaków | Adres e-mail użytkownika, który ma utworzyć. | |
hasło | ciąg znaków | Hasło, które użytkownik ma utworzyć. |
zwrotSecureToken | wartość logiczna | Określa, czy zwracać identyfikator i token odświeżania. Wymagana jest zawsze wartość true (prawda). |
Nazwa właściwości | Typ | Opis |
---|---|---|
idToken | ciąg znaków | Token identyfikatora uwierzytelniania Firebase dla nowo utworzonego użytkownika. |
ciąg znaków | Adres e-mail nowo utworzonego użytkownika. | |
OdświeżToken | ciąg znaków | Token odświeżania uwierzytelniania Firebase dla nowo utworzonego użytkownika. |
wygasaZa | ciąg znaków | Liczba sekund, po których token identyfikatora wygasa. |
Identyfikator lokalny | ciąg znaków | Identyfikator UID nowo utworzonego użytkownika. |
Przykładowe żądanie
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}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu. Odpowiedź zawiera token identyfikatora Firebase i token odświeżania powiązany
na nowym koncie.
Przykładowa odpowiedź
{ "idToken": "[ID_TOKEN]", "email": "[user@example.com]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "tRcfmLH7..." }
Typowe kody błędów
- EMAIL_EXISTS: ten adres e-mail jest już używany przez inne konto.
- OPERATION_NOT_ALLOWED: logowanie za pomocą hasła jest w tym projekcie wyłączone.
- TOO_MANY_ATTEMPTS_TRY_LATER: zablokowaliśmy wszystkie żądania z tego urządzenia z powodu nietypowego działania. Spróbuj ponownie później.
Zaloguj się za pomocą adresu e-mail / hasła
Możesz zalogować użytkownika za pomocą adresu e-mail i hasła, wysyłając kod HTTP
Żądanie POST
do punktu końcowego uwierzytelniania verifyPassword
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Nazwa właściwości | Typ | Opis |
---|---|---|
ciąg znaków | Adres e-mail, za pomocą którego użytkownik się loguje. | |
hasło | ciąg znaków | Hasło do konta. |
zwrotSecureToken | wartość logiczna | Określa, czy zwracać identyfikator i token odświeżania. Wymagana jest zawsze wartość true (prawda). |
Nazwa właściwości | Typ | Opis |
---|---|---|
idToken | ciąg znaków | Token identyfikatora uwierzytelniania Firebase dla uwierzytelnionego użytkownika. |
ciąg znaków | Adres e-mail uwierzytelnionego użytkownika. | |
OdświeżToken | ciąg znaków | Token odświeżania uwierzytelniania Firebase dla uwierzytelnionego użytkownika. |
wygasaZa | ciąg znaków | Liczba sekund, po których token identyfikatora wygasa. |
Identyfikator lokalny | ciąg znaków | Identyfikator UID uwierzytelnionego użytkownika. |
zarejestrowano | wartość logiczna | Wskazuje, czy adres e-mail jest przypisany do istniejącego konta. |
Przykładowe żądanie
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}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu. Odpowiedź zawiera token identyfikatora Firebase i token odświeżania powiązany
za pomocą istniejącego adresu e-mail i konta.
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: nie ma rekordu użytkownika odpowiadającego temu identyfikatorowi. Użytkownik może zostały usunięte.
- 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ć się anonimowo, wysyłając żądanie HTTP
Żądanie POST
do punktu końcowego uwierzytelniania signupNewUser
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Nazwa właściwości | Typ | Opis |
---|---|---|
zwrotSecureToken | wartość logiczna | Określa, czy zwracać identyfikator i token odświeżania. Wymagana jest zawsze wartość true (prawda). |
Nazwa właściwości | Typ | Opis |
---|---|---|
idToken | ciąg znaków | Token identyfikatora uwierzytelniania Firebase dla nowo utworzonego użytkownika. |
ciąg znaków | To pole powinno być puste, ponieważ użytkownik jest anonimowy. | |
OdświeżToken | ciąg znaków | Token odświeżania uwierzytelniania Firebase dla nowo utworzonego użytkownika. |
wygasaZa | ciąg znaków | Liczba sekund, po których token identyfikatora wygasa. |
Identyfikator lokalny | ciąg znaków | Identyfikator UID nowo utworzonego użytkownika. |
Przykładowe żądanie
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"returnSecureToken":true}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu. 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: anonimowe logowanie się użytkowników jest wyłączone w tym projekcie.
Zaloguj się za pomocą danych logowania OAuth
Możesz zalogować użytkownika, korzystając z danych uwierzytelniających OAuth, wysyłając kod HTTP
Żądanie POST
do punktu końcowego uwierzytelniania verifyAssertion
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Nazwa właściwości | Typ | Opis |
---|---|---|
requestUri | ciąg znaków | Identyfikator URI, do którego dostawca tożsamości przekierowuje użytkownika z powrotem. |
treść posta | ciąg znaków | Zawiera dane logowania OAuth (token identyfikatora lub token dostępu) oraz identyfikator dostawcy, który powoduje problemy danych logowania. |
zwrotSecureToken | wartość logiczna | Określa, czy zwracać identyfikator i token odświeżania. Wymagana jest zawsze wartość true (prawda). |
zwrotne dane_uwierzytelniające IDp | wartość logiczna | Określa, czy wymusić zwrot danych logowania OAuth w przypadku tych błędów: FEDERATED_USER_ID_ALREADY_LINKED i EMAIL_EXISTS. |
Nazwa właściwości | Typ | Opis |
---|---|---|
identyfikator sfederowany | ciąg znaków | Unikalny identyfikator określa konto dostawcy tożsamości. |
Identyfikator dostawcy | ciąg znaków | Identyfikator połączonego dostawcy (np. „google.com” w przypadku dostawcy Google). |
Identyfikator lokalny | ciąg znaków | Identyfikator UID uwierzytelnionego użytkownika. |
adres e-mailZweryfikowany | wartość logiczna | Wskazuje, czy adres e-mail logowania został zweryfikowany. |
ciąg znaków | Adres e-mail konta. | |
Token_identyfikatora OAuth | ciąg znaków | Token identyfikatora OIDC, jeśli jest dostępny. |
Token dostępu oauth | ciąg znaków | Token dostępu OAuth, jeśli jest dostępny. |
Obiekt tajny oauthToken | ciąg znaków | Obiekt tajny tokena OAuth 1.0, jeśli jest dostępny. |
Informacje o użytkowniku | ciąg znaków | Utworzona w postaci ciągu znaków odpowiedź JSON zawierająca wszystkie dane dostawcy tożsamości odpowiadające podanemu Dane logowania OAuth. |
imię | ciąg znaków | Imię konta. |
nazwisko | ciąg znaków | Nazwisko właściciela konta. |
imięiNazwisko | ciąg znaków | Pełna nazwa konta. |
wyświetlanaNazwa | ciąg znaków | Wyświetlana nazwa konta. |
adres URL zdjęcia | ciąg znaków | Adres URL zdjęcia na koncie. |
idToken | ciąg znaków | Token identyfikatora uwierzytelniania Firebase dla uwierzytelnionego użytkownika. |
OdświeżToken | ciąg znaków | Token odświeżania uwierzytelniania Firebase dla uwierzytelnionego użytkownika. |
wygasaZa | ciąg znaków | Liczba sekund, po których token identyfikatora wygasa. |
wymaga potwierdzenia | wartość logiczna | Wskazuje, czy istnieje już inne konto z tymi samymi danymi logowania. Użytkownik będzie musiał aby zalogować się na pierwotne konto, a następnie połączyć z nim obecne dane logowania. |
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}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu. 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}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu. 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 danymi logowania OAuth 1.0 na Twitterze
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}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu. Odpowiedź zawiera token identyfikatora Firebase i token odświeżania powiązany
z uwierzytelnionym użytkownikiem.
Przykładowa odpowiedź z danymi logowania OAuth 1.0 na Twitterze
{ "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 w tym projekcie jest wyłączony.
- INVALID_IDP_Response: podane dane uwierzytelniające mają nieprawidłowy format lub straciły ważność.
Dostawcy pobierania dla poczty e-mail
Możesz przejrzeć wszystkich dostawców powiązanych z konkretnym adresem e-mail, wysyłając kod HTTP
Żądanie POST
do punktu końcowego uwierzytelniania createAuthUri
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Nazwa właściwości | Typ | Opis |
---|---|---|
identyfikator | ciąg znaków | Adres e-mail użytkownika |
kontynuacja URI | ciąg znaków | Identyfikator URI, do którego dostawca tożsamości przekierowuje użytkownika z powrotem. W tym przypadku jest to tylko obecny adres URL. |
Nazwa właściwości | Typ | Opis |
---|---|---|
allProvider, | Lista ciągów znaków | Lista dostawców, u których użytkownik wcześniej się logował. |
zarejestrowano | wartość logiczna | Wskazuje, czy adres e-mail jest przypisany do istniejącego konta |
Przykładowe żądanie
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]"}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu. Odpowiedź zawiera listę dostawców powiązanych z tym e-mailem.
Przykładowa odpowiedź
{ "allProviders": [ "password", "google.com" ], "registered": true }
Typowe kody błędów
- INVALID_EMAIL: adres e-mail ma nieprawidłowy format.
Wyślij e-maila na temat resetowania hasła
Możesz wysłać wiadomość e-mail do zresetowania hasła, wysyłając wiadomość HTTP
Żądanie POST
do punktu końcowego uwierzytelniania getOobConfirmationCode
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Nazwa właściwości | Opis |
---|---|
Ustawienia języka X-Firebase | Kod języka odpowiadający językowi użytkownika. Jeśli zaliczysz ten ruch, zostaną zlokalizowane wysłany do użytkownika e-maila na temat resetowania hasła. |
Nazwa właściwości | Typ | Opis |
---|---|---|
requestType | ciąg znaków | Rodzaj kodu OOB do zwrócenia. Właściwa wartość to „PASSWORD_RESET” w celu zresetowania hasła. |
ciąg znaków | Adres e-mail użytkownika. |
Nazwa właściwości | Typ | Opis |
---|---|---|
ciąg znaków | Adres e-mail użytkownika. |
Przykładowe żądanie
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]"}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu.
Przykładowa odpowiedź
{ "email": "[user@example.com]" }
Typowe kody błędów
- EMAIL_NOT_FOUND: nie ma rekordu użytkownika odpowiadającego temu identyfikatorowi. Użytkownik może zostały usunięte.
Zweryfikuj kod resetowania hasła
Możesz sprawdzić kod resetowania hasła, wysyłając żądanie HTTP
Żądanie POST
do punktu końcowego uwierzytelniania resetPassword
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Nazwa właściwości | Typ | Opis |
---|---|---|
Kod OobCode | ciąg znaków | Kod działania e-mail wysłany na adres e-mail użytkownika w celu zresetowania hasła. |
Nazwa właściwości | Typ | Opis |
---|---|---|
ciąg znaków | Adres e-mail użytkownika. | |
requestType | ciąg znaków | Typ kodu działania e-maila. Powinno być „PASSWORD_RESET”. |
Przykładowe żądanie
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]"}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu.
Przykładowa odpowiedź
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
Typowe kody błędów
- OPERATION_NOT_ALLOWED: logowanie za pomocą hasła jest w tym projekcie wyłączone.
- expirationD_OOB_CODE: kod działania wygasł.
- INVALID_OOB_CODE: kod działania jest nieprawidłowy. Zdarza się to, jeśli kod jest uszkodzony, wygasła lub została już wykorzystana.
Potwierdź zresetowanie hasła
Aby zastosować zmianę hasła, wyślij żądanie HTTP
Żądanie POST
do punktu końcowego uwierzytelniania resetPassword
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Nazwa właściwości | Typ | Opis |
---|---|---|
Kod OobCode | ciąg znaków | Kod działania e-mail wysłany na adres e-mail użytkownika w celu zresetowania hasła. |
noweHasło | ciąg znaków | Nowe hasło użytkownika. |
Nazwa właściwości | Typ | Opis |
---|---|---|
ciąg znaków | Adres e-mail użytkownika. | |
requestType | ciąg znaków | Typ kodu działania e-maila. Powinno być „PASSWORD_RESET”. |
Przykładowe żądanie
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]"}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu.
Przykładowa odpowiedź
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
Typowe kody błędów
- OPERATION_NOT_ALLOWED: logowanie za pomocą hasła jest w tym projekcie wyłączone.
- expirationD_OOB_CODE: kod działania wygasł.
- INVALID_OOB_CODE: kod działania jest nieprawidłowy. Zdarza się to, jeśli kod jest uszkodzony, wygasła lub została już wykorzystana.
- 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
Żądanie POST
do punktu końcowego uwierzytelniania setAccountInfo
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nazwa właściwości | Opis |
---|---|
Ustawienia języka X-Firebase | Kod języka odpowiadający językowi użytkownika. Jeśli zaliczysz ten ruch, zostaną zlokalizowane informacje o wycofaniu zmiany adresu e-mail wysłane do użytkownika. |
Nazwa właściwości | Typ | Opis |
---|---|---|
idToken | ciąg znaków | Token identyfikatora uwierzytelniania Firebase dla użytkownika. |
ciąg znaków | Nowy adres e-mail użytkownika. | |
zwrotSecureToken | wartość logiczna | Określa, czy zwracać identyfikator i token odświeżania. |
Nazwa właściwości | Typ | Opis |
---|---|---|
Identyfikator lokalny | ciąg znaków | Identyfikator UID bieżącego użytkownika. |
ciąg znaków | Adres e-mail użytkownika. | |
hasz hasła | ciąg znaków | Wersja hasła z algorytmem hashującym. |
Informacje o użytkowniku dostawcy | Lista obiektów JSON | Lista wszystkich połączonych obiektów dostawców, które zawierają „providerId” i „federatedId”. |
idToken | ciąg znaków | Nowy token identyfikatora uwierzytelniania Firebase dla użytkownika. |
OdświeżToken | ciąg znaków | Token odświeżania uwierzytelniania Firebase. |
wygasaZa | ciąg znaków | Liczba sekund, po których token identyfikatora wygasa. |
Przykładowe żądanie
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}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu. Odpowiedź zawiera nowy token identyfikatora Firebase i powiązany token odświeżania
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: ten adres e-mail jest już używany przez inne konto.
- INVALID_ID_TOKEN:Dane logowania użytkownika straciły ważność. Użytkownik musi się ponownie zalogować.
Zmień hasło
Hasło użytkownika możesz zmienić, wysyłając żądanie HTTP
Żądanie POST
do punktu końcowego uwierzytelniania setAccountInfo
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nazwa właściwości | Typ | Opis |
---|---|---|
idToken | ciąg znaków | Token identyfikatora uwierzytelniania Firebase dla użytkownika. |
hasło | ciąg znaków | Nowe hasło użytkownika. |
zwrotSecureToken | wartość logiczna | Określa, czy zwracać identyfikator i token odświeżania. |
Nazwa właściwości | Typ | Opis |
---|---|---|
Identyfikator lokalny | ciąg znaków | Identyfikator UID bieżącego użytkownika. |
ciąg znaków | Adres e-mail użytkownika. | |
hasz hasła | ciąg znaków | Wersja hasła z algorytmem hashującym. |
Informacje o użytkowniku dostawcy | Lista obiektów JSON | Lista wszystkich połączonych obiektów dostawców, które zawierają „providerId” i „federatedId”. |
idToken | ciąg znaków | Nowy token identyfikatora uwierzytelniania Firebase dla użytkownika. |
OdświeżToken | ciąg znaków | Token odświeżania uwierzytelniania Firebase. |
wygasaZa | ciąg znaków | Liczba sekund, po których token identyfikatora wygasa. |
Przykładowe żądanie
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}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu. Odpowiedź zawiera nowy token identyfikatora Firebase i powiązany token odświeżania
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:Dane logowania użytkownika straciły ważność. Użytkownik musi się ponownie zalogować.
- WEAK_PASSWORD: Hasło musi mieć co najmniej 6 znaków.
Zaktualizuj profil
Można zaktualizować profil użytkownika (wyświetlaną nazwę / adres URL zdjęcia), wysyłając kod HTTP
Żądanie POST
do punktu końcowego uwierzytelniania setAccountInfo
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nazwa właściwości | Typ | Opis |
---|---|---|
idToken | ciąg znaków | Token identyfikatora uwierzytelniania Firebase dla użytkownika. |
wyświetlanaNazwa | ciąg znaków | Nowa wyświetlana nazwa użytkownika. |
adres URL zdjęcia | ciąg znaków | Nowy adres URL zdjęcia użytkownika. |
deleteAttribute | Lista ciągów znaków | Lista atrybutów do usunięcia, „DISPLAY_NAME” lub „PHOTO_URL”. Spowoduje to unieważnienie tych wartości . |
zwrotSecureToken | wartość logiczna | Określa, czy zwracać identyfikator i token odświeżania. |
Nazwa właściwości | Typ | Opis |
---|---|---|
Identyfikator lokalny | ciąg znaków | Identyfikator UID bieżącego użytkownika. |
ciąg znaków | Adres e-mail użytkownika. | |
wyświetlanaNazwa | ciąg znaków | Nowa wyświetlana nazwa użytkownika. |
adres URL zdjęcia | ciąg znaków | Nowy adres URL zdjęcia użytkownika. |
hasz hasła | ciąg znaków | Wersja hasła z algorytmem hashującym. |
Informacje o użytkowniku dostawcy | Lista obiektów JSON | Lista wszystkich połączonych obiektów dostawców, które zawierają „providerId” i „federatedId”. |
idToken | ciąg znaków | Nowy token identyfikatora uwierzytelniania Firebase dla użytkownika. |
OdświeżToken | ciąg znaków | Token odświeżania uwierzytelniania Firebase. |
wygasaZa | ciąg znaków | Liczba sekund, po których token identyfikatora wygasa. |
Przykładowe żądanie
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}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu.
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:Dane logowania użytkownika straciły ważność. Użytkownik musi się ponownie zalogować.
Pobieranie danych użytkownika
Możesz uzyskać dane użytkownika, wysyłając żądanie HTTP
Żądanie POST
do punktu końcowego uwierzytelniania getAccountInfo
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Nazwa właściwości | Typ | Opis |
---|---|---|
idToken | ciąg znaków | Token identyfikatora Firebase konta. |
Nazwa właściwości | Typ | Opis |
---|---|---|
użytkownicy | Lista obiektów JSON | Konto powiązane z podanym tokenem identyfikatora Firebase. Sprawdź poniżej . |
users
)
Nazwa właściwości | Typ | Opis |
---|---|---|
Identyfikator lokalny | ciąg znaków | Identyfikator UID bieżącego użytkownika. |
ciąg znaków | Adres e-mail konta. | |
adres e-mailZweryfikowany | wartość logiczna | Wskazuje, czy adres e-mail powiązany z kontem został zweryfikowany. |
wyświetlanaNazwa | ciąg znaków | Wyświetlana nazwa konta. |
Informacje o użytkowniku dostawcy | Lista obiektów JSON | Lista wszystkich połączonych obiektów dostawców, które zawierają „providerId” i „federatedId”. |
adres URL zdjęcia | ciąg znaków | Adres URL zdjęcia na koncie. |
hasz hasła | ciąg znaków | Wersja hasła z algorytmem hashującym. |
HasłoZaktualizowane o | double, | Sygnatura czasowa (w milisekundach) ostatniej zmiany hasła do konta. |
prawidłowy od | ciąg znaków | Sygnatura czasowa (w sekundach), która wyznacza granicę, przed którą znajduje się token identyfikatora Firebase uznanych za unieważnione. |
wyłączona | wartość logiczna | Określa, czy konto jest wyłączone. |
lastLoginAt | ciąg znaków | Sygnatura czasowa (w milisekundach) ostatniego logowania na konto. |
utworzono | ciąg znaków | Sygnatura czasowa (w milisekundach), w której utworzono konto. |
customAuth | wartość logiczna | Czy konto jest uwierzytelnione przez dewelopera. |
Przykładowe żądanie
curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu. 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:Dane logowania użytkownika straciły ważność. Użytkownik musi się ponownie zalogować.
- USER_NOT_FOUND: nie ma rekordu użytkownika odpowiadającego temu identyfikatorowi. Użytkownik może zostały usunięte.
Link za pomocą adresu e-mail/hasła
Możesz powiązać adres e-mail i hasło z bieżącym użytkownikiem, wysyłając kod HTTP
Żądanie POST
do punktu końcowego uwierzytelniania setAccountInfo
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nazwa właściwości | Typ | Opis |
---|---|---|
idToken | ciąg znaków | Token identyfikatora Firebase dla konta, z którym próbujesz połączyć dane uwierzytelniające. |
ciąg znaków | Adres e-mail, który ma zostać połączony z kontem. | |
hasło | ciąg znaków | Nowe hasło do konta. |
zwrotSecureToken | ciąg znaków | Określa, czy zwracać identyfikator i token odświeżania. Wymagana jest zawsze wartość true (prawda). |
Nazwa właściwości | Typ | Opis |
---|---|---|
Identyfikator lokalny | ciąg znaków | Identyfikator UID bieżącego użytkownika. |
ciąg znaków | Adres e-mail konta. | |
wyświetlanaNazwa | ciąg znaków | Wyświetlana nazwa konta. |
adres URL zdjęcia | ciąg znaków | Adres URL zdjęcia na koncie. |
hasz hasła | ciąg znaków | Wersja hasła z algorytmem hashującym. |
Informacje o użytkowniku dostawcy | Lista obiektów JSON | Lista wszystkich połączonych obiektów dostawców, które zawierają „providerId” i „federatedId”. |
adres e-mailZweryfikowany | wartość logiczna | Wskazuje, czy adres e-mail powiązany z kontem został zweryfikowany. |
idToken | ciąg znaków | Nowy token identyfikatora uwierzytelniania Firebase dla użytkownika. |
OdświeżToken | ciąg znaków | Token odświeżania uwierzytelniania Firebase. |
wygasaZa | ciąg znaków | Liczba sekund, po których token identyfikatora wygasa. |
Przykładowe żądanie
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}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu. Odpowiedź zawiera token identyfikatora Firebase i token odświeżania powiązany z parametrem
uwierzytelnionego użytkownika.
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 logowania użytkownika straciły ważność. Użytkownik musi: zaloguj się ponownie.
- TOKEN_Wygasła: dane logowania użytkownika straciły ważność. Użytkownik musi się ponownie zalogować.
- INVALID_ID_TOKEN:Dane logowania użytkownika straciły ważność. Użytkownik musi się ponownie zalogować.
- WEAK_PASSWORD: Hasło musi mieć co najmniej 6 znaków.
Połącz z danymi logowania OAuth
Dane logowania OAuth możesz połączyć z użytkownikiem, wysyłając kod HTTP
Żądanie POST
do punktu końcowego uwierzytelniania verifyAssertion
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Nazwa właściwości | Typ | Opis |
---|---|---|
idToken | ciąg znaków | Token identyfikatora Firebase dla konta, z którym próbujesz połączyć dane uwierzytelniające. |
requestUri | ciąg znaków | Identyfikator URI, do którego dostawca tożsamości przekierowuje użytkownika z powrotem. |
treść posta | ciąg znaków | Zawiera dane logowania OAuth (token identyfikatora lub token dostępu) oraz identyfikator dostawcy, który powoduje problemy danych logowania. |
zwrotSecureToken | wartość logiczna | Określa, czy zwracać identyfikator i token odświeżania. Wymagana jest zawsze wartość true (prawda). |
zwrotne dane_uwierzytelniające IDp | wartość logiczna | Określa, czy wymusić zwrot danych logowania OAuth w przypadku tych błędów: FEDERATED_USER_ID_ALREADY_LINKED i EMAIL_EXISTS. |
Nazwa właściwości | Typ | Opis |
---|---|---|
identyfikator sfederowany | ciąg znaków | Unikalny identyfikator określa konto dostawcy tożsamości. |
Identyfikator dostawcy | ciąg znaków | Identyfikator połączonego dostawcy (np. „google.com” w przypadku dostawcy Google). |
Identyfikator lokalny | ciąg znaków | Identyfikator UID uwierzytelnionego użytkownika. |
adres e-mailZweryfikowany | wartość logiczna | Czy adres e-mail logowania jest zweryfikowany. |
ciąg znaków | Adres e-mail konta. | |
Token_identyfikatora OAuth | ciąg znaków | Token identyfikatora OIDC, jeśli jest dostępny. |
Token dostępu oauth | ciąg znaków | Token dostępu OAuth, jeśli jest dostępny. |
Obiekt tajny oauthToken | ciąg znaków | Obiekt tajny tokena OAuth 1.0, jeśli jest dostępny. |
Informacje o użytkowniku | ciąg znaków | Utworzona w postaci ciągu znaków odpowiedź JSON zawierająca wszystkie dane dostawcy tożsamości odpowiadające podanemu Dane logowania OAuth. |
imię | ciąg znaków | Imię konta. |
nazwisko | ciąg znaków | Nazwisko właściciela konta. |
imięiNazwisko | ciąg znaków | Pełna nazwa konta. |
wyświetlanaNazwa | ciąg znaków | Wyświetlana nazwa konta. |
adres URL zdjęcia | ciąg znaków | Adres URL zdjęcia na koncie. |
idToken | ciąg znaków | Token identyfikatora uwierzytelniania Firebase dla uwierzytelnionego użytkownika. |
OdświeżToken | ciąg znaków | Token odświeżania uwierzytelniania Firebase dla uwierzytelnionego użytkownika. |
wygasaZa | ciąg znaków | Liczba sekund, po których token identyfikatora wygasa. |
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}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu. 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}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu. 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 danymi logowania OAuth 1.0 na Twitterze
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}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu. Odpowiedź zawiera token identyfikatora Firebase i token odświeżania powiązany
z uwierzytelnionym użytkownikiem.
Przykładowa odpowiedź z danymi logowania OAuth 1.0 na Twitterze
{ "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 w tym projekcie jest wyłączony.
- INVALID_IDP_Response: podane dane uwierzytelniające mają nieprawidłowy format lub straciły ważność.
- INVALID_ID_TOKEN:Dane logowania użytkownika straciły ważność. Użytkownik musi się ponownie zalogować.
- EMAIL_EXISTS: ten adres e-mail jest już używany przez inne konto.
- FEDERATED_USER_ID_ALREADY_LINKED: Te dane logowania są już powiązane z innym konto użytkownika.
Rozłącz dostawcę
Możesz odłączyć dostawcę od bieżącego użytkownika, wysyłając żądanie HTTP
Żądanie POST
do punktu końcowego uwierzytelniania setAccountInfo
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nazwa właściwości | Typ | Opis |
---|---|---|
idToken | ciąg znaków | Token identyfikatora Firebase konta. |
deleteProvider, | Lista ciągów znaków | Lista identyfikatorów dostawców do odłączenia, np. „google.com”, „hasło” itp. |
Nazwa właściwości | Typ | Opis |
---|---|---|
Identyfikator lokalny | ciąg znaków | Identyfikator UID bieżącego użytkownika. |
ciąg znaków | Adres e-mail konta. | |
wyświetlanaNazwa | ciąg znaków | Wyświetlana nazwa konta. |
adres URL zdjęcia | ciąg znaków | Adres URL zdjęcia na koncie. |
hasz hasła | ciąg znaków | Wersja hasła z algorytmem hashującym. |
Informacje o użytkowniku dostawcy | Lista obiektów JSON | Lista wszystkich połączonych obiektów dostawców, które zawierają „providerId” i „federatedId”. |
adres e-mailZweryfikowany | wartość logiczna | Wskazuje, czy adres e-mail powiązany z kontem został zweryfikowany. |
Przykładowe żądanie
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]"]}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu.
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 logowania użytkownika straciły ważność. Użytkownik musi się ponownie zalogować.
Wyślij e-mail weryfikacyjny
Możesz wysłać e-maila weryfikacyjnego do bieżącego użytkownika, wysyłając kod HTTP
Żądanie POST
do punktu końcowego uwierzytelniania getOobConfirmationCode
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Nazwa właściwości | Opis |
---|---|
Ustawienia języka X-Firebase | Kod języka odpowiadający językowi użytkownika. Jeśli zaliczysz ten ruch, zostaną zlokalizowane wysłany do użytkownika e-mail weryfikacyjny. |
Nazwa właściwości | Typ | Opis |
---|---|---|
requestType | ciąg znaków | Typ kodu potwierdzenia do wysłania. Właściwa wartość to zawsze „VERIFY_EMAIL”. |
idToken | ciąg znaków | Token identyfikatora Firebase użytkownika do zweryfikowania. |
Nazwa właściwości | Typ | Opis |
---|---|---|
ciąg znaków | Adres e-mail konta. |
Przykładowe żądanie
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]"}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu.
Przykładowa odpowiedź
{ "email": "user@example.com" }
Typowe kody błędów
- INVALID_ID_TOKEN: dane logowania użytkownika straciły ważność. Użytkownik musi się ponownie zalogować.
- USER_NOT_FOUND: nie ma rekordu użytkownika odpowiadającego temu identyfikatorowi. Użytkownik może zostały usunięte.
Potwierdź weryfikację adresu e-mail
Możesz potwierdzić kod weryfikacyjny adresu e-mail, wysyłając wiadomość HTTP
Żądanie POST
do punktu końcowego uwierzytelniania setAccountInfo
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nazwa właściwości | Typ | Opis |
---|---|---|
Kod OobCode | ciąg znaków | Kod działania wysłany na adres e-mail użytkownika w celu weryfikacji adresu e-mail. |
Nazwa właściwości | Typ | Opis |
---|---|---|
ciąg znaków | Adres e-mail konta. | |
wyświetlanaNazwa | ciąg znaków | Wyświetlana nazwa konta. |
adres URL zdjęcia | ciąg znaków | Adres URL zdjęcia na koncie. |
hasz hasła | ciąg znaków | Hasz hasła. |
Informacje o użytkowniku dostawcy | Lista obiektów JSON | Lista wszystkich połączonych obiektów dostawców, które zawierają „providerId” i „federatedId”. |
adres e-mailZweryfikowany | wartość logiczna | Wskazuje, czy adres e-mail powiązany z kontem został zweryfikowany. |
Przykładowe żądanie
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[VERIFICATION_CODE]"}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu.
Przykładowa odpowiedź
{ "localId": "FhyStE...", "email": "user@example.com", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ] }
Typowe kody błędów
- expirationD_OOB_CODE: kod działania wygasł.
- INVALID_OOB_CODE: kod działania jest nieprawidłowy. Zdarza się to, jeśli kod jest uszkodzony, wygasła lub została już wykorzystana.
- USER_DISABLED: konto użytkownika zostało wyłączone przez administratora.
- EMAIL_NOT_FOUND: nie ma rekordu użytkownika odpowiadającego temu identyfikatorowi. Użytkownik może zostały usunięte.
Usuń konto
Możesz usunąć bieżącego użytkownika, wysyłając kod HTTP
Żądanie POST
do punktu końcowego uwierzytelniania deleteAccount
.
Metoda: POST
Content-Type: aplikacja/json
Punkt końcowyhttps://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Nazwa właściwości | Typ | Opis |
---|---|---|
idToken | ciąg znaków | Token identyfikatora Firebase użytkownika, który ma zostać usunięty. |
Nazwa właściwości | Typ | Opis |
---|
Przykładowe żądanie
curl 'https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'
Udane żądanie jest sygnalizowane przez HTTP 200 OK
kodu stanu.
Typowe kody błędów
- INVALID_ID_TOKEN:Dane logowania użytkownika straciły ważność. Użytkownik musi się ponownie zalogować.
- USER_NOT_FOUND: nie ma rekordu użytkownika odpowiadającego temu identyfikatorowi. Użytkownik może zostały usunięte.
Emulator uwierzytelniania Firebase
Pakiet emulatorów lokalnych Firebase zawiera emulator uwierzytelniania, którego można używać do: lokalnych prototypów i testowania procesów uwierzytelniania. Emulator ujawnia następujący REST i punktów końcowych.
Wyczyść konta użytkowników
Usuń wszystkie konta w określonym projekcie, niezależnie od ich stanu.
Metoda: DELETE
Punkt końcowy
Pamiętaj, że portem domyślnym emulatora uwierzytelniania jest 9099
. Sprawdź terminal
dla rzeczywistego używanego portu.
http://localhost:9099/emulator/v1/projects/{project-id}/accounts
Pobierz konfigurację emulatora
Pobierz konfigurację emulatora dla określonego projektu.
Metoda: GET
Punkt końcowy
Pamiętaj, że portem domyślnym emulatora uwierzytelniania jest 9099
. Sprawdź terminal
dla rzeczywistego używanego portu.
http://localhost:9099/emulator/v1/projects/{project-id}/config
Nazwa właściwości | Typ | Opis |
---|---|---|
logowanie | Obiekt | obiekt konfiguracji signIn zawierający pojedynczy klucz allowDuplicateEmails (wartość logiczna). |
Konfiguracja emulatora poprawek
Zaktualizuj konfigurację emulatora dla określonego projektu.
Metoda: PATCH
Punkt końcowy
Pamiętaj, że portem domyślnym emulatora uwierzytelniania jest 9099
. Sprawdź terminal
dla rzeczywistego używanego portu.
Content-Type: aplikacja/json
http://localhost:9099/emulator/v1/projects/{project-id}/config
Nazwa właściwości | Typ | Opis |
---|---|---|
logowanie | Obiekt | Oczekiwany obiekt konfiguracji logowania z jednym kluczem: allowDuplicateEmails (wartość logiczna). |
Nazwa właściwości | Typ | Opis |
---|---|---|
logowanie | Obiekt | Obiekt konfiguracji logowania po żądaniu z pojedynczym kluczem allowDuplicateEmails (wartość logiczna). |
Pobieranie kodów uwierzytelniających spoza zakresu
Jeśli testowane przepływy uwierzytelniania zwykle generują kody spoza zakresu (np. kody weryfikacyjne e-maili, kody resetowania hasła), emulator przechowuje takie kody wewnętrznie do i ich zastosowania.
Metoda: GET
Punkt końcowy
Pamiętaj, że portem domyślnym emulatora uwierzytelniania jest 9099
. Sprawdź terminal
dla rzeczywistego używanego portu.
http://localhost:9099/emulator/v1/projects/{project-id}/oobCodes
Nazwa właściwości | Typ | Opis |
---|---|---|
Kody oobCode | tablica | Tablica obiektów ze szczegółami wszystkich oczekujących kodów potwierdzenia.
Każdy obiekt zawiera email (ciąg znaków), oobCode (ciąg znaków),
oobLink (ciąg znaków) i requestType (ciąg znaków) |
Pobieranie kodów weryfikacyjnych SMS
Jeśli testujesz procesy uwierzytelniania przez telefon/SMS, emulator przechowuje takie kody wewnętrznie. do momentu ich wykorzystania.
Metoda: GET
Punkt końcowy
Pamiętaj, że portem domyślnym emulatora uwierzytelniania jest 9099
. Sprawdź terminal
dla rzeczywistego używanego portu.
http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
Nazwa właściwości | Typ | Opis |
---|---|---|
Kody weryfikacyjne | tablica | Tablica obiektów ze szczegółami wszystkich oczekujących kodów weryfikacyjnych.
Każdy obiekt zawiera phoneNumber (ciąg znaków) i sessionCode (ciąg znaków). |
Odpowiedź na błąd
Format odpowiedzi na błąd
Za każdym razem, gdy serwer backendu zwróci błąd dowolnego z powyższych interfejsów API, ma taki 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 pobierany z pola komunikatu. Wszystkie powyższe kody błędów odnoszą się do zawartość pola wiadomości.