Firebase Auth REST API'si

API Kullanımı

Firebase Auth arka ucunu REST API aracılığıyla sorgulayabilirsiniz. Bu, çeşitli işlemler için kullanılabilir: Örneğin, yeni kullanıcı oluşturma, mevcut kullanıcıları oturum açma ve bu kullanıcıları düzenleme veya silme.

Bu belgede API_KEY, Web API Anahtarı, Bu bilgileri proje ayarları sayfasını kontrol edin.

Kimlik ve yenileme jetonu için özel jeton değişimi

Bir HTTP yayınlayarak özel bir Auth jetonu ile kimlik alabilir ve yenileme jetonu alabilirsiniz Auth verifyCustomToken uç noktasına POST isteği.

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Vücut Yükünü İsteyin
Mülk Adı Tür Açıklama
token dize Kimlik ve yenileme jetonu çifti oluşturmak için kullanılacak bir Firebase Auth özel jetonu.
ReturnSecureToken boolean Bir kimlik ve yenileme jetonunun döndürülüp döndürülmeyeceğini belirler. Her zaman doğru olmalıdır.
Yanıt Yükü
Mülk Adı Tür Açıklama
kimlikToken dize Sağlanan özel jetondan oluşturulan bir Firebase Auth Kimliği jetonu.
yenileme Jetonu dize Sağlanan özel jetondan oluşturulan bir Firebase Auth yenileme jetonu.
süresi doluyor dize Kimlik jetonunun süresinin dolacağı 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 ile gösterilir. kullanabilirsiniz. Yanıt, ilişkilendirilmiş Firebase kimlik jetonunu ve yenileme jetonunu içerir özel jetonla.

Örnek yanıt

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

Yaygın hata kodları

  • INVALID_CUSTOM_TOKEN: Özel jeton biçimi yanlış veya jeton şunun için geçersiz: herhangi bir nedenle (ör. süresi dolmuş, geçersiz imza vb.)
  • CREDENTIAL_MISMATCH: Özel jeton, farklı bir Firebase projesine karşılık gelir.

Kimlik jetonu için yenileme jetonu değişimi

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

Yöntem: POST

Content-Type (İçerik Türü): application/x-www-form-urlcoding

Uç nokta
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
Vücut Yükünü İsteyin
Mülk Adı Tür Açıklama
grant_type dize Yenileme jetonunun izin türü her zaman "refresh_token"dir.
yenileme_jetonu dize Firebase Auth yenileme jetonu.
Yanıt Yükü
Mülk Adı Tür Açıklama
expires_in dize Kimlik jetonunun süresinin dolacağı saniye sayısı.
token_type dize Yenileme jetonunun türü her zaman "hamiline"dır.
yenileme_jetonu dize İstekte sağlanan Firebase Auth yenileme jetonu veya yeni bir yenileme jetonu.
kimlik_jetonu dize Firebase Auth Kimliği jetonu.
user_id dize Sağlanan kimlik jetonuna karşılık gelen kullanıcı kimliği.
proje_kimliği dize 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 ile gösterilir. kullanabilirsiniz. Yanıt, yeni Firebase kimliği 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 jetonuna karşılık gelen kullanıcı bulunamadı. Kullanıcı silinmiş olabilir.
  • API anahtarı geçerli değil. Lütfen geçerli bir API anahtarı iletin. (geçersiz API anahtarı sağlandı)
  • GEÇERSİZ_REFRESH_TOKEN: Sağlanan yenileme jetonu geçersiz.
  • Geçersiz JSON yükü alındı. Bilinmeyen ad \"refresh_tokens\": Sorgu bağlanamıyor parametresinden sonra bir değer girin. "refresh_tokens" alanı istek mesajında bulunamadı.
  • INVALID_GRANT_TYPE: Belirtilen izin türü geçersiz.
  • MISSING_REFRESH_TOKEN: Yenileme jetonu sağlanmadı.
  • PROJECT_NUMBER_MISMATCH: Yenileme jetonunun proje numarası, sağlanan API anahtarının numarasıyla eşleşmiyor.

E-posta / şifre ile kaydolma

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

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Vücut Yükünü İsteyin
Mülk Adı Tür Açıklama
e-posta dize Kullanıcının oluşturacağı e-posta adresi.
şifre dize Kullanıcının oluşturacağı şifre.
ReturnSecureToken boolean Bir kimlik ve yenileme jetonunun döndürülüp döndürülmeyeceğini belirler. Her zaman doğru olmalıdır.
Yanıt Yükü
Mülk Adı Tür Açıklama
kimlikToken dize Yeni oluşturulan kullanıcı için bir Firebase Auth ID jetonu.
e-posta dize Yeni oluşturulan kullanıcının e-posta adresi.
yenileme Jetonu dize Yeni oluşturulan kullanıcı için bir Firebase Auth yenileme jetonu.
süresi doluyor dize Kimlik jetonunun süresinin dolacağı saniye sayısı.
yerel kimlik dize 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 ile gösterilir. kullanabilirsiniz. Yanıt, ilişkilendirilmiş Firebase kimlik jetonunu ve yenileme jetonunu içerir yeni bir hesap oluşturun.

Ö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ışı bir durum nedeniyle bu cihazdan gelen tüm istekleri engelledik etkinliği'ne dokunun. Daha sonra tekrar deneyin.

E-posta / şifre ile oturum aç

E-posta adresi ve şifreyle kullanıcıların oturum açmak için bir HTTP Auth verifyPassword uç noktasına POST isteği.

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Vücut Yükünü İsteyin
Mülk Adı Tür Açıklama
e-posta dize Kullanıcının oturum açarken kullandığı e-posta adresidir.
şifre dize Hesabın şifresi.
ReturnSecureToken boolean Bir kimlik ve yenileme jetonunun döndürülüp döndürülmeyeceğini belirler. Her zaman doğru olmalıdır.
Yanıt Yükü
Mülk Adı Tür Açıklama
kimlikToken dize Kimliği doğrulanmış kullanıcı için bir Firebase Auth ID jetonu.
e-posta dize Kimliği doğrulanan kullanıcının e-posta adresi.
yenileme Jetonu dize Kimliği doğrulanmış kullanıcı için bir Firebase Auth yenileme jetonu.
süresi doluyor dize Kimlik jetonunun süresinin dolacağı saniye sayısı.
yerel kimlik dize Kimliği doğrulanan 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 ile gösterilir. kullanabilirsiniz. Yanıt, ilişkilendirilmiş Firebase kimlik jetonunu ve yenileme jetonunu içerir oturum açın.

Ö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 bir kullanıcı kaydı yok. Kullanıcı, silindi.
  • GEÇERSİZ_ŞİFRE: Ş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ç

HTTP Auth signupNewUser uç noktasına POST isteği.

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Vücut Yükünü İsteyin
Mülk Adı Tür Açıklama
ReturnSecureToken boolean Bir kimlik ve yenileme jetonunun döndürülüp döndürülmeyeceğini belirler. Her zaman doğru olmalıdır.
Yanıt Yükü
Mülk Adı Tür Açıklama
kimlikToken dize Yeni oluşturulan kullanıcı için bir Firebase Auth ID jetonu.
e-posta dize Kullanıcı anonim olduğundan bu alan boş olmalıdır.
yenileme Jetonu dize Yeni oluşturulan kullanıcı için bir Firebase Auth yenileme jetonu.
süresi doluyor dize Kimlik jetonunun süresinin dolacağı saniye sayısı.
yerel kimlik dize 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 ile gösterilir. kullanabilirsiniz. Yanıt, ilişkilendirilmiş Firebase kimlik jetonunu ve yenileme jetonunu içerir anonim kullanıcıyla gerçekleştirebilirsiniz.

Ö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 bilgisi ile oturum aç

OAuth kimlik bilgisi olan bir kullanıcının oturumunu, HTTP Auth verifyAssertion uç noktasına POST isteği.

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Vücut Yükünü İsteyin
Mülk Adı Tür Açıklama
istekUri dize IDP'nin kullanıcıyı geri yönlendirdiği URI.
postBody dize OAuth kimlik bilgisini (kimlik jetonu veya erişim jetonu) ve sorun oluşturan sağlayıcı kimliğini içerir kimlik doğrulaması.
ReturnSecureToken boolean Bir kimlik ve yenileme jetonunun döndürülüp döndürülmeyeceğini belirler. Her zaman doğru olmalıdır.
ReturnIdpCredential boolean Aşağıdaki hatalarda OAuth kimlik bilgisinin döndürülmesinin zorunlu kılınıp kılınmayacağı: FEDERATED_USER_ID_ALREADY_LINKED ve EMAIL_EXISTS.
Yanıt Yükü
Mülk Adı Tür Açıklama
birleşik kimlik dize Benzersiz kimlik, IdP hesabını tanımlar.
sağlayıcı kimliği dize Bağlı sağlayıcı kimliği (ör. Google sağlayıcı için "google.com").
yerel kimlik dize Kimliği doğrulanan 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 dize Hesabın e-posta adresi.
oauthIdToken dize Varsa OIDC kimlik jetonu.
oauthAccessToken dize Varsa OAuth erişim jetonu.
oauthTokenSecret dize Varsa OAuth 1.0 jeton gizli anahtarı.
HamKullanıcıBilgisi dize Sağlananlara karşılık gelen tüm IdP verilerini içeren dizeleştirilmiş JSON yanıtı OAuth kimlik bilgisi.
ad dize Hesabın adı.
soyadı dize Hesabın soyadı.
tamAd dize Hesabın tam adı.
görünen ad dize Hesabın görünen adı.
fotoğrafURL'si dize Hesabın fotoğraf URL'si.
kimlikToken dize Kimliği doğrulanmış kullanıcı için bir Firebase Auth ID jetonu.
yenileme Jetonu dize Kimliği doğrulanmış kullanıcı için bir Firebase Auth yenileme jetonu.
süresi doluyor dize Kimlik jetonunun süresinin dolacağı saniye sayısı.
Onaylama boolean Aynı kimlik bilgilerine sahip başka bir hesabın zaten olup olmadığı. Kullanıcının şunlara ihtiyacı vardır: (veya mevcut kimlik bilgisini yeni hesabınıza bağlayın).

OAuth kimlik jetonu içeren ö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 ile gösterilir. kullanabilirsiniz. Yanıt, ilişkilendirilmiş Firebase kimlik jetonunu ve yenileme jetonunu içerir kimlik doğrulaması yapılmış olmalıdır.

OAuth kimlik jetonu 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 jetonu içeren ö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 ile gösterilir. kullanabilirsiniz. Yanıt, ilişkilendirilmiş Firebase kimlik jetonunu ve yenileme jetonunu içerir kimlik doğrulaması yapılmış olmalıdır.

OAuth erişim jetonu 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 bilgisi içeren ö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 ile gösterilir. kullanabilirsiniz. Yanıt, ilişkilendirilmiş Firebase kimlik jetonunu ve yenileme jetonunu içerir kimlik doğrulaması yapılmış olmalıdır.

Twitter OAuth 1.0 kimlik bilgisini 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 projede devre dışı bırakıldı.
  • GEÇERSİZ_IdP_YANIT: Sağlanan kimlik doğrulama kimlik bilgisi hatalı veya süresi dolmuş.

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

Belirli bir e-posta adresiyle ilişkili tüm sağlayıcıları görmek için bir HTTP Auth createAuthUri uç noktasına POST isteği.

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Vücut Yükünü İsteyin
Mülk Adı Tür Açıklama
tanımlayıcı dize Kullanıcının e-posta adresi
devamUri dize IDP'nin kullanıcıyı geri yönlendirdiği URI. Bu kullanım örneği için geçerli URL'yi ekleyin.
Yanıt Yükü
Mülk Adı Tür Açıklama
allProvider'lar Dize 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 ile gösterilir. kullanabilirsiniz. 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ı

  • GEÇERSİZ_EMAIL: E-posta adresi hatalı biçimlendirilmiş.

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

Bir HTTP kodu göndererek şifre sıfırlama e-postası gönderebilirsiniz Auth getOobConfirmationCode uç noktasına POST isteği.

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
İsteğe Bağlı Başlıklar
Mülk Adı Açıklama
X-Firebase-Locale Kullanıcının yerel ayarına karşılık gelen dil kodu. Bunu yaptığınızda kullanıcıya gönderilen şifre sıfırlama e-postası.
Vücut Yükü İste
Mülk Adı Tür Açıklama
requestType dize Döndürülecek OOB kodunun türü. "Şifre_RESET" olmalı şifrenizi sıfırlamayı deneyin.
e-posta dize Kullanıcının e-posta adresi.
Yanıt Yükü
Mülk Adı Tür Açıklama
e-posta dize 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 ile gösterilir. kullanabilirsiniz.

Örnek yanıt

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

Yaygın hata kodları

  • EMAIL_NOT_FOUND: Bu tanımlayıcıya karşılık gelen bir kullanıcı kaydı yok. Kullanıcı, silindi.

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

Şifre sıfırlama kodunu bir HTTP Auth resetPassword uç noktasına POST isteği.

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Vücut Yükünü İsteyin
Mülk Adı Tür Açıklama
oobKodu dize Şifreyi sıfırlamak için kullanıcının e-posta adresine gönderilen e-posta işlem kodu.
Yanıt Yükü
Mülk Adı Tür Açıklama
e-posta dize Kullanıcının e-posta adresi.
requestType dize E-posta işlem kodunun türü. "Şifre_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 ile gösterilir. kullanabilirsiniz.

Ö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: İşlem kodunun süresi dolmuş.
  • INVALID_OOB_CODE: İşlem kodu geçersiz. Bu durum, kodun yanlış biçimlendirilmiş olması, süresi dolmuş veya daha önce kullanılmış.

Şifre sıfırlamayı onaylayın

Şifre sıfırlama değişikliği için bir HTTP Auth resetPassword uç noktasına POST isteği.

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Vücut Yükünü İsteyin
Mülk Adı Tür Açıklama
oobKodu dize Şifreyi sıfırlamak için kullanıcının e-posta adresine gönderilen e-posta işlem kodu.
yeniŞifre dize Kullanıcının yeni şifresi.
Yanıt Yükü
Mülk Adı Tür Açıklama
e-posta dize Kullanıcının e-posta adresi.
requestType dize E-posta işlem kodunun türü. "Şifre_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 ile gösterilir. kullanabilirsiniz.

Ö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: İşlem kodunun süresi dolmuş.
  • INVALID_OOB_CODE: İşlem kodu geçersiz. Bu durum, kodun yanlış biçimlendirilmiş olması, süresi dolmuş veya daha önce kullanılmış.
  • USER_DISABLED: Kullanıcı hesabı, bir yönetici tarafından devre dışı bırakıldı.

E-posta adresini değiştir

Bir kullanıcının e-posta adresini, bir HTTP Auth setAccountInfo uç noktasına POST isteği.

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
İsteğe Bağlı Başlıklar
Mülk Adı Açıklama
X-Firebase-Locale Kullanıcının yerel ayarına karşılık gelen dil kodu. Bunu yaptığınızda Kullanıcıya gönderilen e-posta değişikliği iptali.
Vücut Yükü İste
Mülk Adı Tür Açıklama
kimlikToken dize Kullanıcıya ait bir Firebase Auth ID jetonu.
e-posta dize Kullanıcının yeni e-posta adresi.
ReturnSecureToken boolean Bir kimlik ve yenileme jetonunun döndürülüp döndürülmeyeceğini belirler.
Yanıt Yükü
Mülk Adı Tür Açıklama
yerel kimlik dize Geçerli kullanıcının kullanıcı kimliği.
e-posta dize Kullanıcının e-posta adresi.
şifre Karması dize Şifrenin karma sürümü.
providerUserInfo JSON nesnelerinin listesi "providerId" öğesini içeren tüm bağlı sağlayıcı nesnelerinin listesi ve "federatedId" öğeleridir.
kimlikToken dize Kullanıcı için yeni Firebase Auth ID jetonu.
yenileme Jetonu dize Firebase Auth yenileme jetonu.
süresi doluyor dize Kimlik jetonunun süresinin dolacağı 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 ile gösterilir. kullanabilirsiniz. Yanıt, ilişkilendirilmiş yeni Firebase kimliği jetonunu ve yenileme jetonunu içerir gösterme fırsatı sunar.

Ö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 bilgisi artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.

Şifreyi değiştir

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

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Vücut Yükünü İsteyin
Mülk Adı Tür Açıklama
kimlikToken dize Kullanıcıya ait bir Firebase Auth ID jetonu.
şifre dize Kullanıcının yeni şifresi.
ReturnSecureToken boolean Bir kimlik ve yenileme jetonunun döndürülüp döndürülmeyeceğini belirler.
Yanıt Yükü
Mülk Adı Tür Açıklama
yerel kimlik dize Geçerli kullanıcının kullanıcı kimliği.
e-posta dize Kullanıcının e-posta adresi.
şifre Karması dize Şifrenin karma sürümü.
providerUserInfo JSON nesnelerinin listesi "providerId" öğesini içeren tüm bağlı sağlayıcı nesnelerinin listesi ve "federatedId" öğeleridir.
kimlikToken dize Kullanıcı için yeni Firebase Auth ID jetonu.
yenileme Jetonu dize Firebase Auth yenileme jetonu.
süresi doluyor dize Kimlik jetonunun süresinin dolacağı 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 ile gösterilir. kullanabilirsiniz. Yanıt, ilişkilendirilmiş yeni Firebase kimliği jetonunu ve yenileme jetonunu içerir gösterme fırsatı sunar.

Ö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 bilgisi artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
  • WEAK_PASSWORD: Şifre en az 6 karakter uzunluğunda olmalıdır.

Profili güncelle

HTTP Auth setAccountInfo uç noktasına POST isteği.

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Vücut Yükünü İsteyin
Mülk Adı Tür Açıklama
kimlikToken dize Kullanıcıya ait bir Firebase Auth ID jetonu.
görünen ad dize Kullanıcının yeni görünen adı.
fotoğrafURL'si dize Kullanıcının yeni fotoğraf URL'si.
deleteAttribute Dize listesi Silinecek özelliklerin listesi, "DISPLAY_NAME" veya "PHOTO_URL" içermelidir. Bu işlem, kontrol edilemeyen değerler.
ReturnSecureToken boolean Bir kimlik ve yenileme jetonunun döndürülüp döndürülmeyeceğini belirler.
Yanıt Yükü
Mülk Adı Tür Açıklama
yerel kimlik dize Geçerli kullanıcının kullanıcı kimliği.
e-posta dize Kullanıcının e-posta adresi.
görünen ad dize Kullanıcının yeni görünen adı.
fotoğrafURL'si dize Kullanıcının yeni fotoğraf URL'si.
şifre Karması dize Şifrenin karma sürümü.
providerUserInfo JSON nesnelerinin listesi "providerId" öğesini içeren tüm bağlı sağlayıcı nesnelerinin listesi ve "federatedId" öğeleridir.
kimlikToken dize Kullanıcı için yeni Firebase Auth ID jetonu.
yenileme Jetonu dize Firebase Auth yenileme jetonu.
süresi doluyor dize Kimlik jetonunun süresinin dolacağı 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 ile gösterilir. kullanabilirsiniz.

Ö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 bilgisi artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.

Kullanıcı verilerini alma

HTTP Auth getAccountInfo uç noktasına POST isteği.

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Vücut Yükünü İsteyin
Mülk Adı Tür Açıklama
kimlikToken dize Hesabın Firebase kimliği jetonudur.
Yanıt Yükü
Mülk Adı Tür Açıklama
kullanıcılar JSON nesnelerinin listesi Belirtilen Firebase kimlik jetonuyla ilişkili hesap. Daha fazla bilgi için aşağıya bakın bolca fırsat sunuyor.
Yanıt Yükü (users dizisi içeriği)
Mülk Adı Tür Açıklama
yerel kimlik dize Geçerli kullanıcının kullanıcı kimliği.
e-posta dize Hesabın e-posta adresi.
e-posta doğrulandı boolean Hesap e-postasının doğrulanıp doğrulanmadığı.
görünen ad dize Hesabın görünen adı.
providerUserInfo JSON nesnelerinin listesi "providerId" öğesini içeren tüm bağlı sağlayıcı nesnelerinin listesi ve "federatedId" öğeleridir.
fotoğrafURL'si dize Hesabın fotoğraf URL'si.
şifre Karması dize Şifrenin karma sürümü.
şifreGüncellenme Tarihi double Hesap şifresinin en son değiştirildiği tarihi milisaniye cinsinden belirten zaman damgası.
Şu tarihten itibaren geçerli: dize Firebase kimlik jetonunun önündeki bir sınırı işaret eden, saniye cinsinden zaman damgası iptal edilmiş olarak değerlendirilir.
devre dışı boolean Hesabın devre dışı olup olmadığı.
lastLoginAt dize Hesabın en son giriş yaptığı zaman damgası (milisaniye cinsinden).
oluşturulma zamanı dize Hesabın oluşturulduğu zaman damgası (milisaniye cinsinden).
özelKimlik 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 ile gösterilir. kullanabilirsiniz. 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 bilgisi 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 bir kullanıcı kaydı yoktur. Kullanıcı, silindi.

Bir HTTP yönergesiyle e-posta/şifreyi mevcut bir kullanıcıya bağlayabilirsiniz Auth setAccountInfo uç noktasına POST isteği.

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Vücut Yükünü İsteyin
Mülk Adı Tür Açıklama
kimlikToken dize Kimlik bilgisini bağlamaya çalıştığınız hesabın Firebase kimlik jetonu.
e-posta dize Hesaba bağlanacak e-posta adresi.
şifre dize Hesabın yeni şifresi.
ReturnSecureToken dize Bir kimlik ve yenileme jetonunun döndürülüp döndürülmeyeceğini belirler. Her zaman doğru olmalıdır.
Yanıt Yükü
Mülk Adı Tür Açıklama
yerel kimlik dize Geçerli kullanıcının kullanıcı kimliği.
e-posta dize Hesabın e-posta adresi.
görünen ad dize Hesabın görünen adı.
fotoğrafURL'si dize Hesabın fotoğraf URL'si.
şifre Karması dize Şifrenin karma sürümü.
providerUserInfo JSON nesnelerinin listesi "providerId" öğesini içeren tüm bağlı sağlayıcı nesnelerinin listesi ve "federatedId" öğeleridir.
e-posta doğrulandı boolean Hesap e-postasının doğrulanıp doğrulanmadığı.
kimlikToken dize Kullanıcı için yeni Firebase Auth ID jetonu.
yenileme Jetonu dize Firebase Auth yenileme jetonu.
süresi doluyor dize Kimlik jetonunun süresinin dolacağı 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 ile gösterilir. kullanabilirsiniz. Yanıt, kimliği doğrulanmış kullanıcı.

Ö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 bilgisi artık geçerli değil. Kullanıcı tekrar oturum açın.
  • 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 bilgisi artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
  • WEAK_PASSWORD: Şifre en az 6 karakter uzunluğunda olmalıdır.

HTTP Auth verifyAssertion uç noktasına POST isteği.

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Vücut Yükünü İsteyin
Mülk Adı Tür Açıklama
kimlikToken dize Kimlik bilgisini bağlamaya çalıştığınız hesabın Firebase kimlik jetonu.
istekUri dize IDP'nin kullanıcıyı geri yönlendirdiği URI.
postBody dize OAuth kimlik bilgisini (kimlik jetonu veya erişim jetonu) ve sorun oluşturan sağlayıcı kimliğini içerir kimlik doğrulaması.
ReturnSecureToken boolean Bir kimlik ve yenileme jetonunun döndürülüp döndürülmeyeceğini belirler. Her zaman doğru olmalıdır.
ReturnIdpCredential boolean Aşağıdaki hatalarda OAuth kimlik bilgisinin döndürülmesinin zorunlu kılınıp kılınmayacağı: FEDERATED_USER_ID_ALREADY_LINKED ve EMAIL_EXISTS.
Yanıt Yükü
Mülk Adı Tür Açıklama
birleşik kimlik dize Benzersiz kimlik, IdP hesabını tanımlar.
sağlayıcı kimliği dize Bağlı sağlayıcı kimliği (ör. Google sağlayıcı için "google.com").
yerel kimlik dize Kimliği doğrulanan 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 dize Hesabın e-posta adresi.
oauthIdToken dize Varsa OIDC kimlik jetonu.
oauthAccessToken dize Varsa OAuth erişim jetonu.
oauthTokenSecret dize Varsa OAuth 1.0 jeton gizli anahtarı.
HamKullanıcıBilgisi dize Sağlananlara karşılık gelen tüm IdP verilerini içeren dizeleştirilmiş JSON yanıtı OAuth kimlik bilgisi.
ad dize Hesabın adı.
soyadı dize Hesabın soyadı.
tamAd dize Hesabın tam adı.
görünen ad dize Hesabın görünen adı.
fotoğrafURL'si dize Hesabın fotoğraf URL'si.
kimlikToken dize Kimliği doğrulanmış kullanıcı için bir Firebase Auth ID jetonu.
yenileme Jetonu dize Kimliği doğrulanmış kullanıcı için bir Firebase Auth yenileme jetonu.
süresi doluyor dize Kimlik jetonunun süresinin dolacağı saniye sayısı.

OAuth kimlik jetonu içeren ö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 ile gösterilir. kullanabilirsiniz. Yanıt, ilişkilendirilmiş Firebase kimlik jetonunu ve yenileme jetonunu içerir kimlik doğrulaması yapılmış olmalıdır.

OAuth kimlik jetonu 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 jetonu içeren ö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 ile gösterilir. kullanabilirsiniz. Yanıt, ilişkilendirilmiş Firebase kimlik jetonunu ve yenileme jetonunu içerir kimlik doğrulaması yapılmış olmalıdır.

OAuth erişim jetonu 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 bilgisi içeren ö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 ile gösterilir. kullanabilirsiniz. Yanıt, ilişkilendirilmiş Firebase kimlik jetonunu ve yenileme jetonunu içerir kimlik doğrulaması yapılmış olmalıdır.

Twitter OAuth 1.0 kimlik bilgisini 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 projede devre dışı bırakıldı.
  • GEÇERSİZ_IdP_YANIT: Sağlanan kimlik doğrulama kimlik bilgisi hatalı veya süresi dolmuş.
  • INVALID_ID_TOKEN:Kullanıcının kimlik bilgisi 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ı.

Bir sağlayıcının mevcut kullanıcıyla bağlantısını kaldırmak için HTTP Auth setAccountInfo uç noktasına POST isteği.

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Vücut Yükünü İsteyin
Mülk Adı Tür Açıklama
kimlikToken dize Hesabın Firebase kimliği jetonudur.
deleteProvider Dize listesi Bağlantısı kaldırılacak sağlayıcı kimliklerinin listesi (ör. "google.com", "şifre" vb.)
Yanıt Yükü
Mülk Adı Tür Açıklama
yerel kimlik dize Geçerli kullanıcının kullanıcı kimliği.
e-posta dize Hesabın e-posta adresi.
görünen ad dize Hesabın görünen adı.
fotoğrafURL'si dize Hesabın fotoğraf URL'si.
şifre Karması dize Şifrenin karma sürümü.
providerUserInfo JSON nesnelerinin listesi "providerId" öğesini içeren tüm bağlı sağlayıcı nesnelerinin listesi ve "federatedId" öğeleridir.
e-posta doğrulandı boolean Hesap 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 ile gösterilir. kullanabilirsiniz.

Ö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 bilgisi artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.

E-posta doğrulaması gönder

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

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
İsteğe Bağlı Başlıklar
Mülk Adı Açıklama
X-Firebase-Locale Kullanıcının yerel ayarına karşılık gelen dil kodu. Bunu yaptığınızda kullanıcıya e-posta doğrulaması gönderilir.
Vücut Yükü İste
Mülk Adı Tür Açıklama
requestType dize Gönderilecek onay kodunun türü. Her zaman "VERIFY_EMAIL" olmalıdır.
kimlikToken dize Doğrulanacak kullanıcının Firebase kimliği jetonu.
Yanıt Yükü
Mülk Adı Tür Açıklama
e-posta dize Hesabı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":"VERIFY_EMAIL","idToken":"[FIREBASE_ID_TOKEN]"}'

Başarılı bir istek, 200 OK HTTP ile gösterilir. kullanabilirsiniz.

Örnek yanıt

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

Yaygın hata kodları

  • INVALID_ID_TOKEN: Kullanıcının kimlik bilgisi 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 bir kullanıcı kaydı yoktur. Kullanıcı, silindi.

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

E-posta doğrulama kodunu, HTTP Auth setAccountInfo uç noktasına POST isteği.

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Vücut Yükünü İsteyin
Mülk Adı Tür Açıklama
oobKodu dize E-posta doğrulaması için kullanıcının e-posta adresine gönderilen işlem kodu.
Yanıt Yükü
Mülk Adı Tür Açıklama
e-posta dize Hesabın e-posta adresi.
görünen ad dize Hesabın görünen adı.
fotoğrafURL'si dize Hesabın fotoğraf URL'si.
şifre Karması dize Şifre karması.
providerUserInfo JSON nesnelerinin listesi "providerId" öğesini içeren tüm bağlı sağlayıcı nesnelerinin listesi ve "federatedId" öğeleridir.
e-posta doğrulandı boolean Hesap 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 ile gösterilir. kullanabilirsiniz.

Örnek yanıt

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

Yaygın hata kodları

  • EXPIRED_OOB_CODE: İşlem kodunun süresi dolmuş.
  • INVALID_OOB_CODE: İşlem kodu geçersiz. Bu durum, kodun yanlış biçimlendirilmiş olması, süresi dolmuş veya daha önce kullanılmış.
  • 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 bir kullanıcı kaydı yok. Kullanıcı, silindi.

Hesabı sil

Geçerli bir kullanıcıyı, HTTP hatası vererek Auth deleteAccount uç noktasına POST isteği.

Yöntem: POST

Content-Type (İçerik Türü): uygulama/json

Uç nokta
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Vücut Yükünü İsteyin
Mülk Adı Tür Açıklama
kimlikToken dize Silinecek kullanıcının Firebase kimlik jetonu.
Yanıt Yükü
Mülk Adı Tür Açıklama

Ö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 ile gösterilir. kullanabilirsiniz.

Yaygın hata kodları

  • INVALID_ID_TOKEN:Kullanıcının kimlik bilgisi 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 bir kullanıcı kaydı yoktur. Kullanıcı, silindi.

Firebase Authentication Emülatörü

Firebase Local Emulator Suite, kullanabileceğiniz bir Kimlik Doğrulama emülatörü içerir. yerel prototip oluşturma ve kimlik doğrulama akışlarını test etme. Emülatör aşağıdaki REST'i gösterir uç noktalar.

Kullanıcı hesaplarını temizleyin

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

Yöntem: DELETE

Uç nokta

9099 değerinin Kimlik Doğrulama emülatörü için varsayılan bağlantı noktası olduğunu unutmayın. Terminali kontrol edin çıkışını temel alabilir.

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

Emülatör yapılandırması alma

Belirtilen proje için emülatöre özel yapılandırma alın.

Yöntem: GET

Uç nokta

9099 değerinin Kimlik Doğrulama emülatörü için varsayılan bağlantı noktası olduğunu unutmayın. Terminali kontrol edin çıkışını temel alabilir.

http://localhost:9099/emulator/v1/projects/{project-id}/config
Yanıt Yükü
Mülk Adı Tür Açıklama
oturum aç nesne Tek bir anahtar (allowDuplicateEmails (boole)) içeren signIn yapılandırma nesnesi.

Yama emülatörü yapılandırması

Belirtilen proje için emülatöre özel yapılandırmayı güncelleyin.

Yöntem: PATCH

Uç nokta

9099 değerinin Kimlik Doğrulama emülatörü için varsayılan bağlantı noktası olduğunu unutmayın. Terminali kontrol edin çıkışını temel alabilir.

Content-Type (İçerik Türü): uygulama/json

http://localhost:9099/emulator/v1/projects/{project-id}/config
Vücut Yükünü İsteyin
Mülk Adı Tür Açıklama
oturum aç nesne Tek anahtarlı istenen oturum açma yapılandırma nesnesi, allowDuplicateEmails (boole).
Yanıt Yükü
Mülk Adı Tür Açıklama
oturum aç nesne Tek anahtarlı, allowDuplicateEmails (boole) istek sonrası oturum açma yapılandırma nesnesi.

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

Test ettiğiniz kimlik doğrulama akışları normalde bant dışı kodlar (ör. e-posta doğrulama kodları, şifre sıfırlama kodları) kullanıyorsanız emülatör bu kodları dahili olarak yardımcı oluyorum.

Yöntem: GET

Uç nokta

9099 değerinin Kimlik Doğrulama emülatörü için varsayılan bağlantı noktası olduğunu unutmayın. Terminali kontrol edin çıkışını temel alabilir.

http://localhost:9099/emulator/v1/projects/{project-id}/oobCodes
Yanıt Yükü
Mülk Adı Tür Açıklama
oobKodları dizi Bekleyen tüm onay kodlarının ayrıntılarını içeren bir nesne dizisi. Her nesne email (dize), oobCode (dize), oobLink (dize) ve requestType (dize)

SMS doğrulama kodlarını alma

Telefon/SMS kimlik doğrulama akışlarını test ediyorsanız emülatör, bu tür SMS kodlarını dahili olarak depolar devam ettirilir.

Yöntem: GET

Uç nokta

9099 değerinin Kimlik Doğrulama emülatörü için varsayılan bağlantı noktası olduğunu unutmayın. Terminali kontrol edin çıkışını temel alabilir.

http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
Yanıt Yükü
Mülk Adı Tür Açıklama
doğrulamaKodları dizi 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ı biçimi

Yukarıdaki API'lerden herhangi biri için arka uç sunucusundan hata döndürüldüğünde aşağıdaki biçimde olur.

Ö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ği.