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ç noktahttps://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
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. |
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ç noktahttps://securetoken.googleapis.com/v1/token?key=[API_KEY]
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. |
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ç noktahttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
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. |
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ç noktahttps://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
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. |
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ç noktahttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
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. |
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ç noktahttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
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. |
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ç noktahttps://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
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. |
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ç noktahttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
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ı. |
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. |
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ç noktahttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
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. |
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ç noktahttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
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. |
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ç noktahttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
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. |
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ç noktahttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
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ç noktahttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
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ç noktahttps://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Mülk Adı | Tür | Açıklama |
---|---|---|
kimlikToken | dize | Hesabın Firebase kimliği jetonudur. |
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. |
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.
E-posta/şifre ile bağlantı oluştur
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ç noktahttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
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.
OAuth kimlik bilgisi ile bağlantı oluşturun
HTTP
Auth verifyAssertion
uç noktasına POST
isteği.
Yöntem: POST
Content-Type (İçerik Türü): uygulama/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
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. |
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ı.
Sağlayıcının bağlantısını kaldırın
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ç noktahttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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.) |
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ç noktahttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
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. |
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. |
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ç noktahttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
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ç noktahttps://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Mülk Adı | Tür | Açıklama |
---|---|---|
kimlikToken | dize | Silinecek kullanıcının Firebase kimlik jetonu. |
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
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
Mülk Adı | Tür | Açıklama |
---|---|---|
oturum aç | nesne | Tek anahtarlı istenen oturum açma yapılandırma nesnesi, allowDuplicateEmails (boole). |
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
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
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.