Firebase Auth REST API'si

API Kullanımı

Firebase Auth arka ucunu bir REST API aracılığıyla sorgulayabilirsiniz. Bu, yeni kullanıcılar oluşturmak, mevcut kullanıcılarda oturum açmak ve bu kullanıcıları düzenlemek veya silmek gibi çeşitli işlemler için kullanılabilir.

Bu belgede API_KEY , yönetici konsolunuzdaki proje ayarları sayfasından edinebileceğiniz Web API Anahtarını ifade eder.

Özel jetonu bir kimlikle değiştirin ve jetonu yenileyin

Auth verifyCustomToken uç noktasına bir HTTP POST isteği göndererek özel bir Kimlik Doğrulama belirtecini bir kimlikle değiştirebilir ve belirteci yenileyebilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
İstek Gövdesi Yükü
Mülkiyet adı Tip Tanım
jeton sicim Kimliğin oluşturulacağı ve jeton çiftinin yenileneceği Firebase Auth özel jetonu.
returnSecureToken boolean Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği. Her zaman doğru olmalı.
Yanıt Yükü
Mülkiyet adı Tip Tanım
idToken sicim Sağlanan özel jetondan oluşturulan Firebase Auth ID jetonu.
yenilemeTokenı sicim Sağlanan özel jetondan oluşturulan bir Firebase Auth yenileme jetonu.
içinde sona eriyor sicim Kimlik belirtecinin süresinin dolduğu saniye sayısı.

Örnek istek

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

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir. Yanıt, Firebase ID jetonunu ve özel jetonla ilişkili yenileme jetonunu içerir.

Örnek yanıt

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

Yaygın hata kodları

  • INVALID_CUSTOM_TOKEN: Özel belirteç formatı yanlış veya belirteç herhangi bir nedenden dolayı geçersiz (ör. süresi dolmuş, geçersiz imza vb.)
  • CREDENTIAL_MISMATCH: Özel belirteç farklı bir Firebase projesine karşılık gelir.

Kimlik belirteciyle yenileme belirtecini değiştirin

securetoken.googleapis.com uç noktasına bir HTTP POST isteği göndererek Firebase ID jetonunu yenileyebilirsiniz.

Yöntem: POST

İçerik Türü: application/x-www-form-urlencoded

Uç nokta
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
İstek Gövde Yükü
Mülkiyet adı Tip Tanım
hibe_tipi sicim Yenileme jetonunun hibe türü her zaman "refresh_token"dır.
yenileme_token sicim Firebase Auth yenileme jetonu.
Yanıt Yükü
Mülkiyet adı Tip Tanım
içinde sona eriyor sicim Kimlik belirtecinin süresinin dolduğu saniye sayısı.
token_type sicim Yenileme jetonunun türü her zaman "Taşıyıcı"dır.
yenileme_token sicim İstekte sağlanan Firebase Auth yenileme jetonu veya yeni bir yenileme jetonu.
id_token sicim Firebase Auth ID jetonu.
Kullanıcı kimliği sicim Sağlanan kimlik belirtecine karşılık gelen kullanıcı kimliği.
proje_id sicim Firebase proje kimliğiniz.

Örnek istek

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]'

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir. Yanıt, yeni Firebase ID jetonunu ve yenileme jetonunu içerir.

Örnek yanıt

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

Yaygın hata kodları

  • TOKEN_EXPIRED: Kullanıcının kimlik bilgisi artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
  • USER_DISABLED: Kullanıcı hesabı bir yönetici tarafından devre dışı bırakıldı.
  • USER_NOT_FOUND: Yenileme belirtecine karşılık gelen kullanıcı bulunamadı. Kullanıcının silinmiş olması muhtemeldir.
  • API anahtarı geçerli değil. Lütfen geçerli bir API anahtarı iletin. (geçersiz API anahtarı sağlandı)
  • INVALID_REFRESH_TOKEN: Geçersiz bir yenileme jetonu sağlandı.
  • Geçersiz JSON yükü alındı. Bilinmeyen ad \"refresh_tokens\": Sorgu parametresi bağlanamıyor. İstek mesajında ​​'refresh_tokens' alanı bulunamadı.
  • INVALID_GRANT_TYPE: Belirtilen hibe türü geçersiz.
  • MISSING_REFRESH_TOKEN: Yenileme belirteci sağlanmadı.
  • PROJECT_NUMBER_MISMATCH: Yenileme belirtecinin proje numarası, sağlanan API anahtarınınkiyle eşleşmiyor.

E-posta / şifre ile kaydolun

Auth signupNewUser uç noktasına bir HTTP POST isteği göndererek yeni bir e-posta ve parola kullanıcısı oluşturabilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
İstek Gövdesi Yükü
Mülkiyet adı Tip Tanım
e-posta sicim Kullanıcının oluşturacağı e-posta.
şifre sicim Kullanıcının oluşturacağı şifre.
returnSecureToken boolean Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği. Her zaman doğru olmalı.
Yanıt Yükü
Mülkiyet adı Tip Tanım
idToken sicim Yeni oluşturulan kullanıcı için Firebase Auth ID jetonu.
e-posta sicim Yeni oluşturulan kullanıcının e-postası.
yenilemeTokenı sicim Yeni oluşturulan kullanıcı için Firebase Auth yenileme jetonu.
içinde sona eriyor sicim Kimlik belirtecinin süresinin dolduğu saniye sayısı.
yerel kimlik sicim Yeni oluşturulan kullanıcının kullanıcı kimliği.

Örnek istek

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}'

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir. Yanıt, Firebase ID jetonunu ve yeni hesapla ilişkili yenileme jetonunu içerir.

Örnek yanıt

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

Yaygın hata kodları

  • EMAIL_EXISTS: E-posta adresi zaten başka bir hesap tarafından kullanılıyor.
  • OPERATION_NOT_ALLOWED: Bu proje için şifreyle oturum açma devre dışı bırakıldı.
  • TOO_MANY_ATTEMPTS_TRY_LATER: Olağan dışı etkinlik nedeniyle bu cihazdan gelen tüm istekleri engelledik. Daha sonra tekrar deneyin.

E-posta/şifre ile oturum açın

Auth verifyPassword uç noktasına bir HTTP POST isteği göndererek bir kullanıcıda e-posta ve parolayla oturum açabilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
İstek Gövdesi Yükü
Mülkiyet adı Tip Tanım
e-posta sicim Kullanıcının oturum açtığı e-posta adresi.
şifre sicim Hesabın şifresi.
returnSecureToken boolean Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği. Her zaman doğru olmalı.
Yanıt Yükü
Mülkiyet adı Tip Tanım
idToken sicim Kimliği doğrulanmış kullanıcı için bir Firebase Auth ID jetonu.
e-posta sicim Kimliği doğrulanmış kullanıcının e-postası.
yenilemeTokenı sicim Kimliği doğrulanmış kullanıcı için Firebase Auth yenileme jetonu.
içinde sona eriyor sicim Kimlik belirtecinin süresinin dolduğu saniye sayısı.
yerel kimlik sicim Kimliği doğrulanmış kullanıcının kullanıcı kimliği.
kayıtlı boolean E-postanın mevcut bir hesaba ait olup olmadığı.

Örnek istek

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}'

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir. Yanıt, Firebase ID jetonunu ve mevcut e-posta/şifre hesabıyla ilişkili yenileme jetonunu içerir.

Örnek yanıt

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

Yaygın hata kodları

  • EMAIL_NOT_FOUND: Bu tanımlayıcıya karşılık gelen kullanıcı kaydı yok. Kullanıcı silinmiş olabilir.
  • INVALID_PASSWORD: Şifre geçersiz veya kullanıcının şifresi yok.
  • USER_DISABLED: Kullanıcı hesabı bir yönetici tarafından devre dışı bırakıldı.

Anonim olarak oturum açın

Auth signupNewUser uç noktasına bir HTTP POST isteği göndererek bir kullanıcıda anonim olarak oturum açabilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
İstek Gövdesi Yükü
Mülkiyet adı Tip Tanım
returnSecureToken boolean Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği. Her zaman doğru olmalı.
Yanıt Yükü
Mülkiyet adı Tip Tanım
idToken sicim Yeni oluşturulan kullanıcı için Firebase Auth ID jetonu.
e-posta sicim Kullanıcı anonim olduğundan bu alan boş olmalıdır.
yenilemeTokenı sicim Yeni oluşturulan kullanıcı için Firebase Auth yenileme jetonu.
içinde sona eriyor sicim Kimlik belirtecinin süresinin dolduğu saniye sayısı.
yerel kimlik sicim Yeni oluşturulan kullanıcının kullanıcı kimliği.

Örnek istek

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

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir. Yanıt, anonim kullanıcıyla ilişkili Firebase ID jetonunu ve yenileme jetonunu içerir.

Örnek yanıt

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

Yaygın hata kodları

  • OPERATION_NOT_ALLOWED: Bu proje için anonim kullanıcı oturum açma devre dışı bırakıldı.

OAuth kimlik bilgileriyle oturum açın

Auth verifyAssertion uç noktasına bir HTTP POST isteği göndererek OAuth kimlik bilgisine sahip bir kullanıcıda oturum açabilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
İstek Gövdesi Yükü
Mülkiyet adı Tip Tanım
istekUri sicim IDP'nin kullanıcıyı geri yönlendirdiği URI.
postaGövdesi sicim OAuth kimlik bilgilerini (bir kimlik belirteci veya erişim belirteci) ve kimlik bilgisini veren sağlayıcı kimliğini içerir.
returnSecureToken boolean Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği. Her zaman doğru olmalı.
returnIdpCredential boolean Aşağıdaki hatalarda OAuth kimlik bilgilerinin geri döndürülmesinin zorlanıp zorlanmayacağı: FEDERATED_USER_ID_ALREADY_LINKED ve EMAIL_EXISTS.
Yanıt Yükü
Mülkiyet adı Tip Tanım
Federasyon kimliği sicim Benzersiz kimlik, IdP hesabını tanımlar.
sağlayıcı kimliği sicim Bağlantılı sağlayıcı kimliği (örneğin, Google sağlayıcısı için "google.com").
yerel kimlik sicim Kimliği doğrulanmış kullanıcının kullanıcı kimliği.
E-posta Doğrulandı boolean Oturum açma e-postasının doğrulanıp doğrulanmadığı.
e-posta sicim Hesabın e-postası.
oauthIdToken sicim Varsa OIDC kimlik belirteci.
oauthAccessToken sicim Varsa OAuth erişim jetonu.
oauthTokenSecret sicim Varsa OAuth 1.0 jeton sırrı.
rawUserInfo sicim Sağlanan OAuth kimlik bilgisine karşılık gelen tüm IdP verilerini içeren dizeleştirilmiş JSON yanıtı.
ilk adı sicim Hesabın ilk adı.
soy isim sicim Hesabın soyadı.
Ad Soyad sicim Hesabın tam adı.
ekran adı sicim Hesabın görünen adı.
fotoğrafUrl sicim Hesabın fotoğraf URL'si.
idToken sicim Kimliği doğrulanmış kullanıcı için bir Firebase Auth ID jetonu.
yenilemeTokenı sicim Kimliği doğrulanmış kullanıcı için Firebase Auth yenileme jetonu.
içinde sona eriyor sicim Kimlik belirtecinin süresinin dolduğu saniye sayısı.
Onaylanma ihtiyacı boolean Aynı kimlik bilgilerine sahip başka bir hesabın zaten mevcut olup olmadığı. Kullanıcının orijinal hesapta oturum açması ve ardından mevcut kimlik bilgilerini bu hesaba bağlaması gerekir.

OAuth ID belirteciyle örnek istek

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}'

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir. Yanıt, kimliği doğrulanmış kullanıcıyla ilişkili Firebase ID jetonunu ve yenileme jetonunu içerir.

OAuth ID jetonunu içeren örnek yanıt

{
  "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\", ...}"
}

OAuth erişim belirteciyle örnek istek

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}'

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir. Yanıt, kimliği doğrulanmış kullanıcıyla ilişkili Firebase ID jetonunu ve yenileme jetonunu içerir.

OAuth erişim jetonunu içeren örnek yanıt

{
  "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\", ...}"
}

Twitter OAuth 1.0 kimlik bilgileriyle örnek istek

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}'

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir. Yanıt, kimliği doğrulanmış kullanıcıyla ilişkili Firebase ID jetonunu ve yenileme jetonunu içerir.

Twitter OAuth 1.0 kimlik bilgilerini içeren örnek yanıt

{
  "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\", ...}"
}

Yaygın hata kodları

  • OPERATION_NOT_ALLOWED: İlgili sağlayıcı bu proje için devre dışı bırakıldı.
  • INVALID_IDP_RESPONSE: Sağlanan kimlik doğrulama bilgileri hatalı biçimlendirilmiş veya süresi dolmuş.

E-posta için sağlayıcıları getir

Auth createAuthUri uç noktasına bir HTTP POST isteği göndererek, belirtilen bir e-postayla ilişkili tüm sağlayıcıları arayabilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
İstek Gövdesi Yükü
Mülkiyet adı Tip Tanım
tanımlayıcı sicim Kullanıcının e-posta adresi
devamUri sicim IDP'nin kullanıcıyı geri yönlendirdiği URI. Bu kullanım durumunda bu yalnızca geçerli URL'dir.
Yanıt Yükü
Mülkiyet adı Tip Tanım
tüm Sağlayıcılar Dizelerin listesi Kullanıcının daha önce oturum açtığı sağlayıcıların listesi.
kayıtlı boolean E-postanın mevcut bir hesaba ait olup olmadığı

Örnek istek

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]"}'

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir. Yanıt, e-postayla ilişkili sağlayıcıların listesini içerir.

Örnek yanıt

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

Yaygın hata kodları

  • INVALID_EMAIL: E-posta adresi kötü biçimlendirilmiş.

Şifre sıfırlama e-postası gönder

Auth getOobConfirmationCode uç noktasına bir HTTP POST isteği göndererek parola sıfırlama e-postası gönderebilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
İsteğe Bağlı Başlıklar
Mülkiyet adı Tanım
X-Firebase-Yerel Ayar Kullanıcının yerel ayarına karşılık gelen dil kodu. Bunu geçmek, kullanıcıya gönderilen şifre sıfırlama e-postasının yerelleştirilmesini sağlayacaktır.
Gövde Yükü Talebi
Mülkiyet adı Tip Tanım
İstek Türü sicim Döndürülecek OOB kodu türü. Şifre sıfırlama için "PASSWORD_RESET" olmalıdır.
e-posta sicim Kullanıcının e-posta adresi.
Yanıt Yükü
Mülkiyet adı Tip Tanım
e-posta sicim Kullanıcının e-posta adresi.

Örnek istek

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]"}'

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir.

Örnek yanıt

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

Yaygın hata kodları

  • EMAIL_NOT_FOUND: Bu tanımlayıcıya karşılık gelen kullanıcı kaydı yok. Kullanıcı silinmiş olabilir.

Şifre sıfırlama kodunu doğrulayın

Auth resetPassword uç noktasına bir HTTP POST isteği göndererek parola sıfırlama kodunu doğrulayabilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
İstek Gövdesi Yükü
Mülkiyet adı Tip Tanım
oobKodu sicim Şifreyi sıfırlamak için kullanıcının e-postasına gönderilen e-posta eylem kodu.
Yanıt Yükü
Mülkiyet adı Tip Tanım
e-posta sicim Kullanıcının e-posta adresi.
İstek Türü sicim E-posta eylem kodunun türü. "PASSWORD_RESET" olmalıdır.

Örnek istek

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

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir.

Örnek yanıt

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

Yaygın hata kodları

  • OPERATION_NOT_ALLOWED: Bu proje için şifreyle oturum açma devre dışı bırakıldı.
  • EXPIRED_OOB_CODE: Eylem kodunun süresi doldu.
  • INVALID_OOB_CODE: Eylem kodu geçersiz. Bu, kodun hatalı biçimlendirilmiş olması, süresinin dolması veya zaten kullanılmış olması durumunda meydana gelebilir.

Şifre sıfırlamayı onaylayın

Auth resetPassword uç noktasına bir HTTP POST isteği göndererek parola sıfırlama değişikliği uygulayabilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
İstek Gövdesi Yükü
Mülkiyet adı Tip Tanım
oobKodu sicim Şifreyi sıfırlamak için kullanıcının e-postasına gönderilen e-posta eylem kodu.
Yeni Şifre sicim Kullanıcının yeni şifresi.
Yanıt Yükü
Mülkiyet adı Tip Tanım
e-posta sicim Kullanıcının e-posta adresi.
İstek Türü sicim E-posta eylem kodunun türü. "PASSWORD_RESET" olmalıdır.

Örnek istek

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]"}'

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir.

Örnek yanıt

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

Yaygın hata kodları

  • OPERATION_NOT_ALLOWED: Bu proje için şifreyle oturum açma devre dışı bırakıldı.
  • EXPIRED_OOB_CODE: Eylem kodunun süresi doldu.
  • INVALID_OOB_CODE: Eylem kodu geçersiz. Bu, kodun hatalı biçimlendirilmiş olması, süresinin dolması veya zaten kullanılmış olması durumunda meydana gelebilir.
  • USER_DISABLED: Kullanıcı hesabı bir yönetici tarafından devre dışı bırakıldı.

Değişim e-posta

Auth setAccountInfo uç noktasına bir HTTP POST isteği göndererek kullanıcının e-postasını değiştirebilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
İsteğe Bağlı Başlıklar
Mülkiyet adı Tanım
X-Firebase-Yerel Ayar Kullanıcının yerel ayarına karşılık gelen dil kodu. Bunu iletmek, kullanıcıya gönderilen e-posta değişikliği iptalinin yerelleştirilmesini sağlayacaktır.
Gövde Yükü Talebi
Mülkiyet adı Tip Tanım
idToken sicim Kullanıcı için bir Firebase Auth ID jetonu.
e-posta sicim Kullanıcının yeni e-postası.
returnSecureToken boolean Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği.
Yanıt Yükü
Mülkiyet adı Tip Tanım
yerel kimlik sicim Geçerli kullanıcının kullanıcı kimliği.
e-posta sicim Kullanıcının e-posta adresi.
şifreHash sicim Parolanın karma sürümü.
sağlayıcıKullanıcıBilgisi JSON nesnelerinin listesi "providerId" ve "federatedId" içeren tüm bağlantılı sağlayıcı nesnelerinin listesi.
idToken sicim Kullanıcı için yeni Firebase Auth ID jetonu.
yenilemeTokenı sicim Firebase Auth yenileme jetonu.
içinde sona eriyor sicim Kimlik belirtecinin süresinin dolduğu saniye sayısı.

Örnek istek

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}'

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir. Yanıt, kullanıcıyla ilişkili yeni Firebase ID jetonunu ve yenileme jetonunu içerir.

Örnek yanıt

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

Yaygın hata kodları

  • EMAIL_EXISTS: E-posta adresi zaten başka bir hesap tarafından kullanılıyor.
  • INVALID_ID_TOKEN:Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.

Şifre değiştir

Auth setAccountInfo uç noktasına bir HTTP POST isteği göndererek kullanıcının parolasını değiştirebilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
İstek Gövdesi Yükü
Mülkiyet adı Tip Tanım
idToken sicim Kullanıcı için bir Firebase Auth ID jetonu.
şifre sicim Kullanıcının yeni şifresi.
returnSecureToken boolean Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği.
Yanıt Yükü
Mülkiyet adı Tip Tanım
yerel kimlik sicim Geçerli kullanıcının kullanıcı kimliği.
e-posta sicim Kullanıcının e-posta adresi.
şifreHash sicim Parolanın karma sürümü.
sağlayıcıKullanıcıBilgisi JSON nesnelerinin listesi "providerId" ve "federatedId" içeren tüm bağlantılı sağlayıcı nesnelerinin listesi.
idToken sicim Kullanıcı için yeni Firebase Auth ID jetonu.
yenilemeTokenı sicim Firebase Auth yenileme jetonu.
içinde sona eriyor sicim Kimlik belirtecinin süresinin dolduğu saniye sayısı.

Örnek istek

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}'

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir. Yanıt, kullanıcıyla ilişkili yeni Firebase ID jetonunu ve yenileme jetonunu içerir.

Örnek yanıt

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

Yaygın hata kodları

  • INVALID_ID_TOKEN:Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
  • WEAK_PASSWORD: Şifre 6 karakter uzunluğunda veya daha fazla olmalıdır.

Profili Güncelle

Auth setAccountInfo uç noktasına bir HTTP POST isteği göndererek bir kullanıcının profilini (görünen ad/fotoğraf URL'si) güncelleyebilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
İstek Gövdesi Yükü
Mülkiyet adı Tip Tanım
idToken sicim Kullanıcı için bir Firebase Auth ID jetonu.
ekran adı sicim Kullanıcının yeni görünen adı.
fotoğrafUrl sicim Kullanıcının yeni fotoğraf URL'si.
Özelliği sil Dizelerin listesi Silinecek özniteliklerin listesi: "DISPLAY_NAME" veya "PHOTO_URL". Bu, bu değerleri geçersiz kılacaktır.
returnSecureToken boolean Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği.
Yanıt Yükü
Mülkiyet adı Tip Tanım
yerel kimlik sicim Geçerli kullanıcının kullanıcı kimliği.
e-posta sicim Kullanıcının e-posta adresi.
ekran adı sicim Kullanıcının yeni görünen adı.
fotoğrafUrl sicim Kullanıcının yeni fotoğraf URL'si.
şifreHash sicim Parolanın karma sürümü.
sağlayıcıKullanıcıBilgisi JSON nesnelerinin listesi "providerId" ve "federatedId" içeren tüm bağlantılı sağlayıcı nesnelerinin listesi.
idToken sicim Kullanıcı için yeni Firebase Auth ID jetonu.
yenilemeTokenı sicim Firebase Auth yenileme jetonu.
içinde sona eriyor sicim Kimlik belirtecinin süresinin dolduğu saniye sayısı.

Örnek istek

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}'

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir.

Örnek yanıt

{
  "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"
}

Yaygın hata kodları

  • INVALID_ID_TOKEN:Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.

Kullanıcı verilerini alın

Auth getAccountInfo uç noktasına bir HTTP POST isteği göndererek kullanıcının verilerini alabilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
İstek Gövde Yükü
Mülkiyet adı Tip Tanım
idToken sicim Hesabın Firebase ID jetonu.
Yanıt Yükü
Mülkiyet adı Tip Tanım
kullanıcılar JSON nesnelerinin listesi Belirtilen Firebase ID jetonuyla ilişkili hesap. Daha fazla ayrıntı için aşağıya bakın.
Yanıt Yükü ( users dizisi içeriği)
Mülkiyet adı Tip Tanım
yerel kimlik sicim Geçerli kullanıcının kullanıcı kimliği.
e-posta sicim Hesabın e-postası.
E-posta Doğrulandı boolean Hesabın e-postasının doğrulanıp doğrulanmadığı.
ekran adı sicim Hesabın görünen adı.
sağlayıcıKullanıcıBilgisi JSON nesnelerinin listesi "providerId" ve "federatedId" içeren tüm bağlantılı sağlayıcı nesnelerinin listesi.
fotoğrafUrl sicim Hesabın fotoğraf URL'si.
şifreHash sicim Parolanın karma sürümü.
şifreGüncellenme Tarihi çift Hesap parolasının en son değiştirildiği milisaniye cinsinden zaman damgası.
geçerliO zamandan bu yana sicim Firebase ID jetonunun iptal edilmiş sayılacağı sınırı işaret eden, saniye cinsinden zaman damgası.
engelli boolean Hesabın devre dışı olup olmadığı.
lastLoginAt sicim Hesabın en son oturum açtığı milisaniye cinsinden zaman damgası.
oluşturulduğu tarih sicim Hesabın oluşturulduğu milisaniye cinsinden zaman damgası.
özel kimlik doğrulama boolean Hesabın geliştirici tarafından doğrulanıp doğrulanmadığı.

Örnek istek

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

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir. Yanıt, hesapla ilişkili tüm kullanıcı bilgilerini içerecektir.

Örnek yanıt

{
  "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
    }
  ]
}

Yaygın hata kodları

  • INVALID_ID_TOKEN:Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
  • USER_NOT_FOUND: Bu tanımlayıcıya karşılık gelen kullanıcı kaydı yok. Kullanıcı silinmiş olabilir.

Auth setAccountInfo uç noktasına bir HTTP POST isteği göndererek bir e-postayı/parolayı geçerli bir kullanıcıya bağlayabilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
İstek Gövdesi Yükü
Mülkiyet adı Tip Tanım
idToken sicim Kimlik bilgisini bağlamaya çalıştığınız hesabın Firebase ID jetonu.
e-posta sicim Hesaba bağlanmak için e-posta.
şifre sicim Hesabın yeni şifresi.
returnSecureToken sicim Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği. Her zaman doğru olmalı.
Yanıt Yükü
Mülkiyet adı Tip Tanım
yerel kimlik sicim Geçerli kullanıcının kullanıcı kimliği.
e-posta sicim Hesabın e-postası.
ekran adı sicim Hesabın görünen adı.
fotoğrafUrl sicim Hesabın fotoğraf URL'si.
şifreHash sicim Parolanın karma sürümü.
sağlayıcıKullanıcıBilgisi JSON nesnelerinin listesi "providerId" ve "federatedId" içeren tüm bağlantılı sağlayıcı nesnelerinin listesi.
E-posta Doğrulandı boolean Hesabın e-postasının doğrulanıp doğrulanmadığı.
idToken sicim Kullanıcı için yeni Firebase Auth ID jetonu.
yenilemeTokenı sicim Firebase Auth yenileme jetonu.
içinde sona eriyor sicim Kimlik belirtecinin süresinin dolduğu saniye sayısı.

Örnek istek

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}'

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir. Yanıt, kimliği doğrulanmış kullanıcıyla ilişkili Firebase ID jetonunu ve yenileme jetonunu içerir.

Örnek yanıt

{
  "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
}

Yaygın hata kodları

  • CREDENTIAL_TOO_OLD_LOGIN_AGAIN: Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
  • TOKEN_EXPIRED: Kullanıcının kimlik bilgisi artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
  • INVALID_ID_TOKEN:Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
  • WEAK_PASSWORD: Şifre 6 karakter uzunluğunda veya daha fazla olmalıdır.

Auth verifyAssertion uç noktasına bir HTTP POST isteği göndererek bir OAuth kimlik bilgisini bir kullanıcıya bağlayabilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
İstek Gövdesi Yükü
Mülkiyet adı Tip Tanım
idToken sicim Kimlik bilgisini bağlamaya çalıştığınız hesabın Firebase ID jetonu.
istekUri sicim IDP'nin kullanıcıyı geri yönlendirdiği URI.
postaGövdesi sicim OAuth kimlik bilgilerini (bir kimlik belirteci veya erişim belirteci) ve kimlik bilgisini veren sağlayıcı kimliğini içerir.
returnSecureToken boolean Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği. Her zaman doğru olmalı.
returnIdpCredential boolean Aşağıdaki hatalarda OAuth kimlik bilgilerinin geri döndürülmesinin zorlanıp zorlanmayacağı: FEDERATED_USER_ID_ALREADY_LINKED ve EMAIL_EXISTS.
Yanıt Yükü
Mülkiyet adı Tip Tanım
Federasyon kimliği sicim Benzersiz kimlik, IdP hesabını tanımlar.
sağlayıcı kimliği sicim Bağlantılı sağlayıcı kimliği (örneğin, Google sağlayıcısı için "google.com").
yerel kimlik sicim Kimliği doğrulanmış kullanıcının kullanıcı kimliği.
E-posta Doğrulandı boolean Oturum açma e-postasının doğrulanıp doğrulanmadığı.
e-posta sicim Hesabın e-postası.
oauthIdToken sicim Varsa OIDC kimlik belirteci.
oauthAccessToken sicim Varsa OAuth erişim jetonu.
oauthTokenSecret sicim Varsa OAuth 1.0 jeton sırrı.
rawUserInfo sicim Sağlanan OAuth kimlik bilgisine karşılık gelen tüm IdP verilerini içeren dizeleştirilmiş JSON yanıtı.
ilk adı sicim Hesabın ilk adı.
soy isim sicim Hesabın soyadı.
Ad Soyad sicim Hesabın tam adı.
ekran adı sicim Hesabın görünen adı.
fotoğrafUrl sicim Hesabın fotoğraf URL'si.
idToken sicim Kimliği doğrulanmış kullanıcı için bir Firebase Auth ID jetonu.
yenilemeTokenı sicim Kimliği doğrulanmış kullanıcı için Firebase Auth yenileme jetonu.
içinde sona eriyor sicim Kimlik belirtecinin süresinin dolduğu saniye sayısı.

OAuth ID belirteciyle örnek istek

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}'

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir. Yanıt, kimliği doğrulanmış kullanıcıyla ilişkili Firebase ID jetonunu ve yenileme jetonunu içerir.

OAuth ID jetonunu içeren örnek yanıt

{
  "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\", ...}"
}

OAuth erişim belirteciyle örnek istek

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}'

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir. Yanıt, kimliği doğrulanmış kullanıcıyla ilişkili Firebase ID jetonunu ve yenileme jetonunu içerir.

OAuth erişim jetonunu içeren örnek yanıt

{
  "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\", ...}"
}

Twitter OAuth 1.0 kimlik bilgileriyle örnek istek

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}'

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir. Yanıt, kimliği doğrulanmış kullanıcıyla ilişkili Firebase ID jetonunu ve yenileme jetonunu içerir.

Twitter OAuth 1.0 kimlik bilgilerini içeren örnek yanıt

{
  "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\", ...}"
}

Yaygın hata kodları

  • OPERATION_NOT_ALLOWED: İlgili sağlayıcı bu proje için devre dışı bırakıldı.
  • INVALID_IDP_RESPONSE: Sağlanan kimlik doğrulama bilgileri hatalı biçimlendirilmiş veya süresi dolmuş.
  • INVALID_ID_TOKEN:Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
  • EMAIL_EXISTS: E-posta adresi zaten başka bir hesap tarafından kullanılıyor.
  • FEDERATED_USER_ID_ALREADY_LINKED: Bu kimlik bilgisi zaten farklı bir kullanıcı hesabıyla ilişkilendirilmiş.

Auth setAccountInfo uç noktasına bir HTTP POST isteği göndererek bir sağlayıcının mevcut kullanıcıyla olan bağlantısını kaldırabilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
İstek Gövdesi Yükü
Mülkiyet adı Tip Tanım
idToken sicim Hesabın Firebase ID jetonu.
Sağlayıcıyı sil Dizelerin listesi Bağlantısı kaldırılacak sağlayıcı kimliklerinin listesi, örneğin: 'google.com', 'şifre' vb.
Yanıt Yükü
Mülkiyet adı Tip Tanım
yerel kimlik sicim Geçerli kullanıcının kullanıcı kimliği.
e-posta sicim Hesabın e-postası.
ekran adı sicim Hesabın görünen adı.
fotoğrafUrl sicim Hesabın fotoğraf URL'si.
şifreHash sicim Parolanın karma sürümü.
sağlayıcıKullanıcıBilgisi JSON nesnelerinin listesi "providerId" ve "federatedId" içeren tüm bağlantılı sağlayıcı nesnelerinin listesi.
E-posta Doğrulandı boolean Hesabın e-postasının doğrulanıp doğrulanmadığı.

Örnek istek

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]"]}'

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir.

Örnek yanıt

{
  "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"
}

Yaygın hata kodları

  • INVALID_ID_TOKEN: Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.

E-posta doğrulaması gönder

Auth getOobConfirmationCode uç noktasına bir HTTP POST isteği göndererek geçerli kullanıcı için bir e-posta doğrulaması gönderebilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
İsteğe Bağlı Başlıklar
Mülkiyet adı Tanım
X-Firebase-Yerel Ayar Kullanıcının yerel ayarına karşılık gelen dil kodu. Bunu geçmek, kullanıcıya gönderilen e-posta doğrulamasını yerelleştirir.
Gövde Yükü Talebi
Mülkiyet adı Tip Tanım
İstek Türü sicim Gönderilecek onay kodunun türü. Her zaman "VERIFY_EMAIL" olmalıdır.
idToken sicim Doğrulanacak kullanıcının Firebase ID jetonu.
Yanıt Yükü
Mülkiyet adı Tip Tanım
e-posta sicim Hesabın e-postası.

Örnek istek

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]"}'

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir.

Örnek yanıt

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

Yaygın hata kodları

  • INVALID_ID_TOKEN: Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
  • USER_NOT_FOUND: Bu tanımlayıcıya karşılık gelen kullanıcı kaydı yok. Kullanıcı silinmiş olabilir.

E-posta doğrulamasını onaylayın

Auth setAccountInfo uç noktasına bir HTTP POST isteği göndererek e-posta doğrulama kodunu onaylayabilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
İstek Gövdesi Yükü
Mülkiyet adı Tip Tanım
oobKodu sicim E-posta doğrulaması için kullanıcının e-postasına gönderilen işlem kodu.
Yanıt Yükü
Mülkiyet adı Tip Tanım
e-posta sicim Hesabın e-postası.
ekran adı sicim Hesabın görünen adı.
fotoğrafUrl sicim Hesabın fotoğraf URL'si.
şifreHash sicim Şifre karması.
sağlayıcıKullanıcıBilgisi JSON nesnelerinin listesi "providerId" ve "federatedId" içeren tüm bağlantılı sağlayıcı nesnelerinin listesi.
E-posta Doğrulandı boolean Hesabın e-postasının doğrulanıp doğrulanmadığı.

Örnek istek

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

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir.

Örnek yanıt

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

Yaygın hata kodları

  • EXPIRED_OOB_CODE: Eylem kodunun süresi doldu.
  • INVALID_OOB_CODE: Eylem kodu geçersiz. Bu, kodun hatalı biçimlendirilmiş olması, süresinin dolması veya zaten kullanılmış olması durumunda meydana gelebilir.
  • USER_DISABLED: Kullanıcı hesabı bir yönetici tarafından devre dışı bırakıldı.
  • EMAIL_NOT_FOUND: Bu tanımlayıcıya karşılık gelen kullanıcı kaydı yok. Kullanıcı silinmiş olabilir.

Hesabı sil

Auth deleteAccount uç noktasına bir HTTP POST isteği göndererek geçerli bir kullanıcıyı silebilirsiniz.

Yöntem: POST

İçerik Türü: application/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
İstek Gövdesi Yükü
Mülkiyet adı Tip Tanım
idToken sicim Silinecek kullanıcının Firebase ID jetonu.
Yanıt Yükü
Mülkiyet adı Tip Tanım

Örnek istek

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

Başarılı bir istek, 200 OK HTTP durum koduyla gösterilir.

Yaygın hata kodları

  • INVALID_ID_TOKEN:Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
  • USER_NOT_FOUND: Bu tanımlayıcıya karşılık gelen kullanıcı kaydı yok. Kullanıcı silinmiş olabilir.

Firebase Kimlik Doğrulama Emülatörü

Firebase Local Emulator Suite, kimlik doğrulama akışlarının yerel prototiplenmesi ve test edilmesi için kullanılabilecek bir Kimlik Doğrulama emülatörü içerir. Emülatör aşağıdaki REST uç noktalarını ortaya çıkarır.

Kullanıcı hesaplarını temizle

Durumdan bağımsız olarak belirtilen projedeki tüm hesapları kaldırın.

Yöntem: SİL

Uç nokta

Kimlik Doğrulama öykünücüsü için varsayılan bağlantı noktasının 9099 olduğunu unutmayın. Kullanılan gerçek bağlantı noktası için terminal çıkışını kontrol edin.

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

Öykünücü yapılandırmasını alın

Belirtilen proje için öykünücüye özgü yapılandırmayı alın.

Yöntem: GET

Uç nokta

Kimlik Doğrulama öykünücüsü için varsayılan bağlantı noktasının 9099 olduğunu unutmayın. Kullanılan gerçek bağlantı noktası için terminal çıkışını kontrol edin.

http://localhost:9099/emulator/v1/projects/{project-id}/config
Yanıt Yükü
Mülkiyet adı Tip Tanım
kayıt olmak nesne allowDuplicateEmails (boolean) adlı tek bir anahtar içeren SignIn yapılandırma nesnesi.

Yama öykünücüsü yapılandırması

Belirtilen proje için öykünücüye özgü yapılandırmayı güncelleyin.

Yöntem: PATCH

Uç nokta

Kimlik Doğrulama öykünücüsü için varsayılan bağlantı noktasının 9099 olduğunu unutmayın. Kullanılan gerçek bağlantı noktası için terminal çıkışını kontrol edin.

İçerik Türü: application/json

http://localhost:9099/emulator/v1/projects/{project-id}/config
Gövde Yükünü Talep Et
Mülkiyet adı Tip Tanım
kayıt olmak nesne Tek anahtarlı istenen oturum açma yapılandırma nesnesi, allowDuplicateEmails (boolean).
Yanıt Yükü
Mülkiyet adı Tip Tanım
kayıt olmak nesne Tek anahtarlı istek sonrası oturum açma yapılandırma nesnesi, allowDuplicateEmails (boolean).

Bant dışı kimlik doğrulama kodlarını alın

Test ettiğiniz kimlik doğrulama akışları normalde bant dışı kodlar (örneğin, e-posta doğrulama kodları, parola sıfırlama kodları) oluşturuyorsa, emülatör bu kodları kullanılıncaya kadar dahili olarak saklar.

Yöntem: GET

Uç nokta

Kimlik Doğrulama öykünücüsü için varsayılan bağlantı noktasının 9099 olduğunu unutmayın. Kullanılan gerçek bağlantı noktası için terminal çıkışını kontrol edin.

http://localhost:9099/emulator/v1/projects/{project-id}/oobCodes
Yanıt Yükü
Mülkiyet adı Tip Tanım
oob Kodları sıralamak Bekleyen tüm onay kodlarının ayrıntılarını içeren bir nesne dizisi. Her nesne email (string), oobCode (string), oobLink (string) ve requestType (string) içerir.

SMS doğrulama kodlarını alın

Telefon/SMS kimlik doğrulama akışlarını test ediyorsanız emülatör, bu tür SMS kodlarını kullanılıncaya kadar dahili olarak saklar.

Yöntem: GET

Uç nokta

Kimlik Doğrulama öykünücüsü için varsayılan bağlantı noktasının 9099 olduğunu unutmayın. Kullanılan gerçek bağlantı noktası için terminal çıkışını kontrol edin.

http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
Yanıt Yükü
Mülkiyet adı Tip Tanım
doğrulamaKodları sıralamak Bekleyen tüm doğrulama kodlarının ayrıntılarını içeren bir nesne dizisi. Her nesne, phoneNumber (dize) ve sessionCode (dize) içerir.

Hata Yanıtı

Hata yanıt formatı

Yukarıdaki API'lerden herhangi biri için arka uç sunucusundan bir hata döndürüldüğünde yanıt aşağıdaki formatta olacaktır.

Örnek yanıt

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

Hata kodu mesaj alanından alınır. Yukarıdaki hata kodlarının tümü mesaj alanı içeriğiyle ilgilidir.