API Kullanımı
Firebase Auth arka ucunu bir REST API aracılığıyla sorgulayabilirsiniz. Bu, yeni kullanıcılar oluşturmak, mevcut kullanıcılarda oturum açmak ve bu kullanıcıları düzenlemek veya silmek gibi çeşitli işlemler için kullanılabilir.
Bu belgede API_KEY
, yönetici konsolunuzdaki proje ayarları sayfasından edinebileceğiniz Web API Anahtarını ifade eder.
Özel jetonu bir kimlikle değiştirin ve jetonu yenileyin
Auth verifyCustomToken
uç noktasına bir HTTP POST
isteği göndererek özel bir Kimlik Doğrulama belirtecini bir kimlikle değiştirebilir ve belirteci yenileyebilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]İstek Gövdesi Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
jeton | sicim | Kimliğin oluşturulacağı ve jeton çiftinin yenileneceği Firebase Auth özel jetonu. |
returnSecureToken | boolean | Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği. Her zaman doğru olmalı. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
idToken | sicim | Sağlanan özel jetondan oluşturulan Firebase Auth ID jetonu. |
yenilemeTokenı | sicim | Sağlanan özel jetondan oluşturulan bir Firebase Auth yenileme jetonu. |
içinde sona eriyor | sicim | Kimlik belirtecinin süresinin dolduğu saniye sayısı. |
Örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"token":"[CUSTOM_TOKEN]","returnSecureToken":true}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir. Yanıt, Firebase ID jetonunu ve özel jetonla ilişkili yenileme jetonunu içerir.
Örnek yanıt
{ "idToken": "[ID_TOKEN]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
Yaygın hata kodları
- INVALID_CUSTOM_TOKEN: Özel belirteç formatı yanlış veya belirteç herhangi bir nedenden dolayı geçersiz (ör. süresi dolmuş, geçersiz imza vb.)
- CREDENTIAL_MISMATCH: Özel belirteç farklı bir Firebase projesine karşılık gelir.
Kimlik belirteciyle yenileme belirtecini değiştirin
securetoken.googleapis.com
uç noktasına bir HTTP POST
isteği göndererek Firebase ID jetonunu yenileyebilirsiniz.
Yöntem: POST
İçerik Türü: application/x-www-form-urlencoded
Uç noktahttps://securetoken.googleapis.com/v1/token?key=[API_KEY]İstek Gövde Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
hibe_tipi | sicim | Yenileme jetonunun hibe türü her zaman "refresh_token"dır. |
yenileme_token | sicim | Firebase Auth yenileme jetonu. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
içinde sona eriyor | sicim | Kimlik belirtecinin süresinin dolduğu saniye sayısı. |
token_type | sicim | Yenileme jetonunun türü her zaman "Taşıyıcı"dır. |
yenileme_token | sicim | İstekte sağlanan Firebase Auth yenileme jetonu veya yeni bir yenileme jetonu. |
id_token | sicim | Firebase Auth ID jetonu. |
Kullanıcı kimliği | sicim | Sağlanan kimlik belirtecine karşılık gelen kullanıcı kimliği. |
proje_id | sicim | Firebase proje kimliğiniz. |
Örnek istek
curl 'https://securetoken.googleapis.com/v1/token?key=[API_KEY]' \ -H 'Content-Type: application/x-www-form-urlencoded' \ --data 'grant_type=refresh_token&refresh_token=[REFRESH_TOKEN]'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir. Yanıt, yeni Firebase ID jetonunu ve yenileme jetonunu içerir.
Örnek yanıt
{ "expires_in": "3600", "token_type": "Bearer", "refresh_token": "[REFRESH_TOKEN]", "id_token": "[ID_TOKEN]", "user_id": "tRcfmLH7o2XrNELi...", "project_id": "1234567890" }
Yaygın hata kodları
- TOKEN_EXPIRED: Kullanıcının kimlik bilgisi artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
- USER_DISABLED: Kullanıcı hesabı bir yönetici tarafından devre dışı bırakıldı.
- USER_NOT_FOUND: Yenileme belirtecine karşılık gelen kullanıcı bulunamadı. Kullanıcının silinmiş olması muhtemeldir.
- API anahtarı geçerli değil. Lütfen geçerli bir API anahtarı iletin. (geçersiz API anahtarı sağlandı)
- INVALID_REFRESH_TOKEN: Geçersiz bir yenileme jetonu sağlandı.
- Geçersiz JSON yükü alındı. Bilinmeyen ad \"refresh_tokens\": Sorgu parametresi bağlanamıyor. İstek mesajında 'refresh_tokens' alanı bulunamadı.
- INVALID_GRANT_TYPE: Belirtilen hibe türü geçersiz.
- MISSING_REFRESH_TOKEN: Yenileme belirteci sağlanmadı.
- PROJECT_NUMBER_MISMATCH: Yenileme belirtecinin proje numarası, sağlanan API anahtarınınkiyle eşleşmiyor.
E-posta / şifre ile kaydolun
Auth signupNewUser
uç noktasına bir HTTP POST
isteği göndererek yeni bir e-posta ve parola kullanıcısı oluşturabilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]İstek Gövdesi Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
e-posta | sicim | Kullanıcının oluşturacağı e-posta. |
şifre | sicim | Kullanıcının oluşturacağı şifre. |
returnSecureToken | boolean | Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği. Her zaman doğru olmalı. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
idToken | sicim | Yeni oluşturulan kullanıcı için Firebase Auth ID jetonu. |
e-posta | sicim | Yeni oluşturulan kullanıcının e-postası. |
yenilemeTokenı | sicim | Yeni oluşturulan kullanıcı için Firebase Auth yenileme jetonu. |
içinde sona eriyor | sicim | Kimlik belirtecinin süresinin dolduğu saniye sayısı. |
yerel kimlik | sicim | Yeni oluşturulan kullanıcının kullanıcı kimliği. |
Örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir. Yanıt, Firebase ID jetonunu ve yeni hesapla ilişkili yenileme jetonunu içerir.
Örnek yanıt
{ "idToken": "[ID_TOKEN]", "email": "[user@example.com]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "tRcfmLH7..." }
Yaygın hata kodları
- EMAIL_EXISTS: E-posta adresi zaten başka bir hesap tarafından kullanılıyor.
- OPERATION_NOT_ALLOWED: Bu proje için şifreyle oturum açma devre dışı bırakıldı.
- TOO_MANY_ATTEMPTS_TRY_LATER: Olağan dışı etkinlik nedeniyle bu cihazdan gelen tüm istekleri engelledik. Daha sonra tekrar deneyin.
E-posta/şifre ile oturum açın
Auth verifyPassword
uç noktasına bir HTTP POST
isteği göndererek bir kullanıcıda e-posta ve parolayla oturum açabilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]İstek Gövdesi Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
e-posta | sicim | Kullanıcının oturum açtığı e-posta adresi. |
şifre | sicim | Hesabın şifresi. |
returnSecureToken | boolean | Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği. Her zaman doğru olmalı. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
idToken | sicim | Kimliği doğrulanmış kullanıcı için bir Firebase Auth ID jetonu. |
e-posta | sicim | Kimliği doğrulanmış kullanıcının e-postası. |
yenilemeTokenı | sicim | Kimliği doğrulanmış kullanıcı için Firebase Auth yenileme jetonu. |
içinde sona eriyor | sicim | Kimlik belirtecinin süresinin dolduğu saniye sayısı. |
yerel kimlik | sicim | Kimliği doğrulanmış kullanıcının kullanıcı kimliği. |
kayıtlı | boolean | E-postanın mevcut bir hesaba ait olup olmadığı. |
Örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir. Yanıt, Firebase ID jetonunu ve mevcut e-posta/şifre hesabıyla ilişkili yenileme jetonunu içerir.
Örnek yanıt
{ "localId": "ZY1rJK0eYLg...", "email": "[user@example.com]", "displayName": "", "idToken": "[ID_TOKEN]", "registered": true, "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
Yaygın hata kodları
- EMAIL_NOT_FOUND: Bu tanımlayıcıya karşılık gelen kullanıcı kaydı yok. Kullanıcı silinmiş olabilir.
- INVALID_PASSWORD: Şifre geçersiz veya kullanıcının şifresi yok.
- USER_DISABLED: Kullanıcı hesabı bir yönetici tarafından devre dışı bırakıldı.
Anonim olarak oturum açın
Auth signupNewUser
uç noktasına bir HTTP POST
isteği göndererek bir kullanıcıda anonim olarak oturum açabilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]İstek Gövdesi Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
returnSecureToken | boolean | Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği. Her zaman doğru olmalı. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
idToken | sicim | Yeni oluşturulan kullanıcı için Firebase Auth ID jetonu. |
e-posta | sicim | Kullanıcı anonim olduğundan bu alan boş olmalıdır. |
yenilemeTokenı | sicim | Yeni oluşturulan kullanıcı için Firebase Auth yenileme jetonu. |
içinde sona eriyor | sicim | Kimlik belirtecinin süresinin dolduğu saniye sayısı. |
yerel kimlik | sicim | Yeni oluşturulan kullanıcının kullanıcı kimliği. |
Örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"returnSecureToken":true}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir. Yanıt, anonim kullanıcıyla ilişkili Firebase ID jetonunu ve yenileme jetonunu içerir.
Örnek yanıt
{ "idToken": "[ID_TOKEN]", "email": "", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "Jws4SVjpT..." }
Yaygın hata kodları
- OPERATION_NOT_ALLOWED: Bu proje için anonim kullanıcı oturum açma devre dışı bırakıldı.
OAuth kimlik bilgileriyle oturum açın
Auth verifyAssertion
uç noktasına bir HTTP POST
isteği göndererek OAuth kimlik bilgisine sahip bir kullanıcıda oturum açabilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]İstek Gövdesi Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
istekUri | sicim | IDP'nin kullanıcıyı geri yönlendirdiği URI. |
postaGövdesi | sicim | OAuth kimlik bilgilerini (bir kimlik belirteci veya erişim belirteci) ve kimlik bilgisini veren sağlayıcı kimliğini içerir. |
returnSecureToken | boolean | Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği. Her zaman doğru olmalı. |
returnIdpCredential | boolean | Aşağıdaki hatalarda OAuth kimlik bilgilerinin geri döndürülmesinin zorlanıp zorlanmayacağı: FEDERATED_USER_ID_ALREADY_LINKED ve EMAIL_EXISTS. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
Federasyon kimliği | sicim | Benzersiz kimlik, IdP hesabını tanımlar. |
sağlayıcı kimliği | sicim | Bağlantılı sağlayıcı kimliği (örneğin, Google sağlayıcısı için "google.com"). |
yerel kimlik | sicim | Kimliği doğrulanmış kullanıcının kullanıcı kimliği. |
E-posta Doğrulandı | boolean | Oturum açma e-postasının doğrulanıp doğrulanmadığı. |
e-posta | sicim | Hesabın e-postası. |
oauthIdToken | sicim | Varsa OIDC kimlik belirteci. |
oauthAccessToken | sicim | Varsa OAuth erişim jetonu. |
oauthTokenSecret | sicim | Varsa OAuth 1.0 jeton sırrı. |
rawUserInfo | sicim | Sağlanan OAuth kimlik bilgisine karşılık gelen tüm IdP verilerini içeren dizeleştirilmiş JSON yanıtı. |
ilk adı | sicim | Hesabın ilk adı. |
soy isim | sicim | Hesabın soyadı. |
Ad Soyad | sicim | Hesabın tam adı. |
ekran adı | sicim | Hesabın görünen adı. |
fotoğrafUrl | sicim | Hesabın fotoğraf URL'si. |
idToken | sicim | Kimliği doğrulanmış kullanıcı için bir Firebase Auth ID jetonu. |
yenilemeTokenı | sicim | Kimliği doğrulanmış kullanıcı için Firebase Auth yenileme jetonu. |
içinde sona eriyor | sicim | Kimlik belirtecinin süresinin dolduğu saniye sayısı. |
Onaylanma ihtiyacı | boolean | Aynı kimlik bilgilerine sahip başka bir hesabın zaten mevcut olup olmadığı. Kullanıcının orijinal hesapta oturum açması ve ardından mevcut kimlik bilgilerini bu hesaba bağlaması gerekir. |
OAuth ID belirteciyle örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir. Yanıt, kimliği doğrulanmış kullanıcıyla ilişkili Firebase ID jetonunu ve yenileme jetonunu içerir.
OAuth ID jetonunu içeren örnek yanıt
{ "federatedId": "https://accounts.google.com/1234567890", "providerId": "google.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthIdToken": "[GOOGLE_ID_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
OAuth erişim belirteciyle örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir. Yanıt, kimliği doğrulanmış kullanıcıyla ilişkili Firebase ID jetonunu ve yenileme jetonunu içerir.
OAuth erişim jetonunu içeren örnek yanıt
{ "federatedId": "http://facebook.com/1234567890", "providerId": "facebook.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://scontent.xx.fbcdn.net/v/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Twitter OAuth 1.0 kimlik bilgileriyle örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir. Yanıt, kimliği doğrulanmış kullanıcıyla ilişkili Firebase ID jetonunu ve yenileme jetonunu içerir.
Twitter OAuth 1.0 kimlik bilgilerini içeren örnek yanıt
{ "federatedId": "http://twitter.com/1234567890", "providerId": "twitter.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]", "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "http://abs.twimg.com/sticky/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Yaygın hata kodları
- OPERATION_NOT_ALLOWED: İlgili sağlayıcı bu proje için devre dışı bırakıldı.
- INVALID_IDP_RESPONSE: Sağlanan kimlik doğrulama bilgileri hatalı biçimlendirilmiş veya süresi dolmuş.
E-posta için sağlayıcıları getir
Auth createAuthUri
uç noktasına bir HTTP POST
isteği göndererek, belirtilen bir e-postayla ilişkili tüm sağlayıcıları arayabilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]İstek Gövdesi Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
tanımlayıcı | sicim | Kullanıcının e-posta adresi |
devamUri | sicim | IDP'nin kullanıcıyı geri yönlendirdiği URI. Bu kullanım durumunda bu yalnızca geçerli URL'dir. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
tüm Sağlayıcılar | Dizelerin listesi | Kullanıcının daha önce oturum açtığı sağlayıcıların listesi. |
kayıtlı | boolean | E-postanın mevcut bir hesaba ait olup olmadığı |
Örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"identifier":"[user@example.com]","continueUri":"[http://localhost:8080/app]"}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir. Yanıt, e-postayla ilişkili sağlayıcıların listesini içerir.
Örnek yanıt
{ "allProviders": [ "password", "google.com" ], "registered": true }
Yaygın hata kodları
- INVALID_EMAIL: E-posta adresi kötü biçimlendirilmiş.
Şifre sıfırlama e-postası gönder
Auth getOobConfirmationCode
uç noktasına bir HTTP POST
isteği göndererek parola sıfırlama e-postası gönderebilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]İsteğe Bağlı Başlıklar
Mülkiyet adı | Tanım |
---|---|
X-Firebase-Yerel Ayar | Kullanıcının yerel ayarına karşılık gelen dil kodu. Bunu geçmek, kullanıcıya gönderilen şifre sıfırlama e-postasının yerelleştirilmesini sağlayacaktır. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
İstek Türü | sicim | Döndürülecek OOB kodu türü. Şifre sıfırlama için "PASSWORD_RESET" olmalıdır. |
e-posta | sicim | Kullanıcının e-posta adresi. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
e-posta | sicim | Kullanıcının e-posta adresi. |
Örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"requestType":"PASSWORD_RESET","email":"[user@example.com]"}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir.
Örnek yanıt
{ "email": "[user@example.com]" }
Yaygın hata kodları
- EMAIL_NOT_FOUND: Bu tanımlayıcıya karşılık gelen kullanıcı kaydı yok. Kullanıcı silinmiş olabilir.
Şifre sıfırlama kodunu doğrulayın
Auth resetPassword
uç noktasına bir HTTP POST
isteği göndererek parola sıfırlama kodunu doğrulayabilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]İstek Gövdesi Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
oobKodu | sicim | Şifreyi sıfırlamak için kullanıcının e-postasına gönderilen e-posta eylem kodu. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
e-posta | sicim | Kullanıcının e-posta adresi. |
İstek Türü | sicim | E-posta eylem kodunun türü. "PASSWORD_RESET" olmalıdır. |
Örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]"}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir.
Örnek yanıt
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
Yaygın hata kodları
- OPERATION_NOT_ALLOWED: Bu proje için şifreyle oturum açma devre dışı bırakıldı.
- EXPIRED_OOB_CODE: Eylem kodunun süresi doldu.
- INVALID_OOB_CODE: Eylem kodu geçersiz. Bu, kodun hatalı biçimlendirilmiş olması, süresinin dolması veya zaten kullanılmış olması durumunda meydana gelebilir.
Şifre sıfırlamayı onaylayın
Auth resetPassword
uç noktasına bir HTTP POST
isteği göndererek parola sıfırlama değişikliği uygulayabilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]İstek Gövdesi Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
oobKodu | sicim | Şifreyi sıfırlamak için kullanıcının e-postasına gönderilen e-posta eylem kodu. |
Yeni Şifre | sicim | Kullanıcının yeni şifresi. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
e-posta | sicim | Kullanıcının e-posta adresi. |
İstek Türü | sicim | E-posta eylem kodunun türü. "PASSWORD_RESET" olmalıdır. |
Örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]","newPassword":"[NEW_PASSWORD]"}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir.
Örnek yanıt
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
Yaygın hata kodları
- OPERATION_NOT_ALLOWED: Bu proje için şifreyle oturum açma devre dışı bırakıldı.
- EXPIRED_OOB_CODE: Eylem kodunun süresi doldu.
- INVALID_OOB_CODE: Eylem kodu geçersiz. Bu, kodun hatalı biçimlendirilmiş olması, süresinin dolması veya zaten kullanılmış olması durumunda meydana gelebilir.
- USER_DISABLED: Kullanıcı hesabı bir yönetici tarafından devre dışı bırakıldı.
Değişim e-posta
Auth setAccountInfo
uç noktasına bir HTTP POST
isteği göndererek kullanıcının e-postasını değiştirebilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]İsteğe Bağlı Başlıklar
Mülkiyet adı | Tanım |
---|---|
X-Firebase-Yerel Ayar | Kullanıcının yerel ayarına karşılık gelen dil kodu. Bunu iletmek, kullanıcıya gönderilen e-posta değişikliği iptalinin yerelleştirilmesini sağlayacaktır. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
idToken | sicim | Kullanıcı için bir Firebase Auth ID jetonu. |
e-posta | sicim | Kullanıcının yeni e-postası. |
returnSecureToken | boolean | Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
yerel kimlik | sicim | Geçerli kullanıcının kullanıcı kimliği. |
e-posta | sicim | Kullanıcının e-posta adresi. |
şifreHash | sicim | Parolanın karma sürümü. |
sağlayıcıKullanıcıBilgisi | JSON nesnelerinin listesi | "providerId" ve "federatedId" içeren tüm bağlantılı sağlayıcı nesnelerinin listesi. |
idToken | sicim | Kullanıcı için yeni Firebase Auth ID jetonu. |
yenilemeTokenı | sicim | Firebase Auth yenileme jetonu. |
içinde sona eriyor | sicim | Kimlik belirtecinin süresinin dolduğu saniye sayısı. |
Örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[FIREBASE_ID_TOKEN]","email":"[user@example2.com]","returnSecureToken":true}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir. Yanıt, kullanıcıyla ilişkili yeni Firebase ID jetonunu ve yenileme jetonunu içerir.
Örnek yanıt
{ "localId": "tRcfmLH7o2...", "email": "[user@example2.com]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "[user@example2.com]" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Yaygın hata kodları
- EMAIL_EXISTS: E-posta adresi zaten başka bir hesap tarafından kullanılıyor.
- INVALID_ID_TOKEN:Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
Şifre değiştir
Auth setAccountInfo
uç noktasına bir HTTP POST
isteği göndererek kullanıcının parolasını değiştirebilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]İstek Gövdesi Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
idToken | sicim | Kullanıcı için bir Firebase Auth ID jetonu. |
şifre | sicim | Kullanıcının yeni şifresi. |
returnSecureToken | boolean | Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
yerel kimlik | sicim | Geçerli kullanıcının kullanıcı kimliği. |
e-posta | sicim | Kullanıcının e-posta adresi. |
şifreHash | sicim | Parolanın karma sürümü. |
sağlayıcıKullanıcıBilgisi | JSON nesnelerinin listesi | "providerId" ve "federatedId" içeren tüm bağlantılı sağlayıcı nesnelerinin listesi. |
idToken | sicim | Kullanıcı için yeni Firebase Auth ID jetonu. |
yenilemeTokenı | sicim | Firebase Auth yenileme jetonu. |
içinde sona eriyor | sicim | Kimlik belirtecinin süresinin dolduğu saniye sayısı. |
Örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[FIREBASE_ID_TOKEN]","password":"[NEW_PASSWORD]","returnSecureToken":true}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir. Yanıt, kullanıcıyla ilişkili yeni Firebase ID jetonunu ve yenileme jetonunu içerir.
Örnek yanıt
{ "localId": "tRcfmLH7o2...", "email": "[user@example.com]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "[user@example.com]" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Yaygın hata kodları
- INVALID_ID_TOKEN:Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
- WEAK_PASSWORD: Şifre 6 karakter uzunluğunda veya daha fazla olmalıdır.
Profili Güncelle
Auth setAccountInfo
uç noktasına bir HTTP POST
isteği göndererek bir kullanıcının profilini (görünen ad/fotoğraf URL'si) güncelleyebilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]İstek Gövdesi Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
idToken | sicim | Kullanıcı için bir Firebase Auth ID jetonu. |
ekran adı | sicim | Kullanıcının yeni görünen adı. |
fotoğrafUrl | sicim | Kullanıcının yeni fotoğraf URL'si. |
Özelliği sil | Dizelerin listesi | Silinecek özniteliklerin listesi: "DISPLAY_NAME" veya "PHOTO_URL". Bu, bu değerleri geçersiz kılacaktır. |
returnSecureToken | boolean | Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
yerel kimlik | sicim | Geçerli kullanıcının kullanıcı kimliği. |
e-posta | sicim | Kullanıcının e-posta adresi. |
ekran adı | sicim | Kullanıcının yeni görünen adı. |
fotoğrafUrl | sicim | Kullanıcının yeni fotoğraf URL'si. |
şifreHash | sicim | Parolanın karma sürümü. |
sağlayıcıKullanıcıBilgisi | JSON nesnelerinin listesi | "providerId" ve "federatedId" içeren tüm bağlantılı sağlayıcı nesnelerinin listesi. |
idToken | sicim | Kullanıcı için yeni Firebase Auth ID jetonu. |
yenilemeTokenı | sicim | Firebase Auth yenileme jetonu. |
içinde sona eriyor | sicim | Kimlik belirtecinin süresinin dolduğu saniye sayısı. |
Örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[ID_TOKEN]","displayName":"[NAME]","photoUrl":"[URL]","returnSecureToken":true}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir.
Örnek yanıt
{ "localId": "tRcfmLH...", "email": "user@example2.com", "displayName": "John Doe", "photoUrl": "[http://localhost:8080/img1234567890/photo.png]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example2.com", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Yaygın hata kodları
- INVALID_ID_TOKEN:Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
Kullanıcı verilerini alın
Auth getAccountInfo
uç noktasına bir HTTP POST
isteği göndererek kullanıcının verilerini alabilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]İstek Gövde Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
idToken | sicim | Hesabın Firebase ID jetonu. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
kullanıcılar | JSON nesnelerinin listesi | Belirtilen Firebase ID jetonuyla ilişkili hesap. Daha fazla ayrıntı için aşağıya bakın. |
users
dizisi içeriği)Mülkiyet adı | Tip | Tanım |
---|---|---|
yerel kimlik | sicim | Geçerli kullanıcının kullanıcı kimliği. |
e-posta | sicim | Hesabın e-postası. |
E-posta Doğrulandı | boolean | Hesabın e-postasının doğrulanıp doğrulanmadığı. |
ekran adı | sicim | Hesabın görünen adı. |
sağlayıcıKullanıcıBilgisi | JSON nesnelerinin listesi | "providerId" ve "federatedId" içeren tüm bağlantılı sağlayıcı nesnelerinin listesi. |
fotoğrafUrl | sicim | Hesabın fotoğraf URL'si. |
şifreHash | sicim | Parolanın karma sürümü. |
şifreGüncellenme Tarihi | çift | Hesap parolasının en son değiştirildiği milisaniye cinsinden zaman damgası. |
geçerliO zamandan bu yana | sicim | Firebase ID jetonunun iptal edilmiş sayılacağı sınırı işaret eden, saniye cinsinden zaman damgası. |
engelli | boolean | Hesabın devre dışı olup olmadığı. |
lastLoginAt | sicim | Hesabın en son oturum açtığı milisaniye cinsinden zaman damgası. |
oluşturulduğu tarih | sicim | Hesabın oluşturulduğu milisaniye cinsinden zaman damgası. |
özel kimlik doğrulama | boolean | Hesabın geliştirici tarafından doğrulanıp doğrulanmadığı. |
Örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir. Yanıt, hesapla ilişkili tüm kullanıcı bilgilerini içerecektir.
Örnek yanıt
{ "users": [ { "localId": "ZY1rJK0...", "email": "user@example.com", "emailVerified": false, "displayName": "John Doe", "providerUserInfo": [ { "providerId": "password", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png", "federatedId": "user@example.com", "email": "user@example.com", "rawId": "user@example.com", "screenName": "user@example.com" } ], "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "passwordUpdatedAt": 1.484124177E12, "validSince": "1484124177", "disabled": false, "lastLoginAt": "1484628946000", "createdAt": "1484124142000", "customAuth": false } ] }
Yaygın hata kodları
- INVALID_ID_TOKEN:Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
- USER_NOT_FOUND: Bu tanımlayıcıya karşılık gelen kullanıcı kaydı yok. Kullanıcı silinmiş olabilir.
E-posta/şifre ile bağlantı
Auth setAccountInfo
uç noktasına bir HTTP POST
isteği göndererek bir e-postayı/parolayı geçerli bir kullanıcıya bağlayabilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]İstek Gövdesi Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
idToken | sicim | Kimlik bilgisini bağlamaya çalıştığınız hesabın Firebase ID jetonu. |
e-posta | sicim | Hesaba bağlanmak için e-posta. |
şifre | sicim | Hesabın yeni şifresi. |
returnSecureToken | sicim | Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği. Her zaman doğru olmalı. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
yerel kimlik | sicim | Geçerli kullanıcının kullanıcı kimliği. |
e-posta | sicim | Hesabın e-postası. |
ekran adı | sicim | Hesabın görünen adı. |
fotoğrafUrl | sicim | Hesabın fotoğraf URL'si. |
şifreHash | sicim | Parolanın karma sürümü. |
sağlayıcıKullanıcıBilgisi | JSON nesnelerinin listesi | "providerId" ve "federatedId" içeren tüm bağlantılı sağlayıcı nesnelerinin listesi. |
E-posta Doğrulandı | boolean | Hesabın e-postasının doğrulanıp doğrulanmadığı. |
idToken | sicim | Kullanıcı için yeni Firebase Auth ID jetonu. |
yenilemeTokenı | sicim | Firebase Auth yenileme jetonu. |
içinde sona eriyor | sicim | Kimlik belirtecinin süresinin dolduğu saniye sayısı. |
Örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[ID_TOKEN]","email":"[user@example.com]","password":"[PASS]","returnSecureToken":true}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir. Yanıt, kimliği doğrulanmış kullanıcıyla ilişkili Firebase ID jetonunu ve yenileme jetonunu içerir.
Örnek yanıt
{ "localId": "huDwUz...", "email": "user@example.com", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ], "idToken": "[ID_TOKEN]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "emailVerified": false }
Yaygın hata kodları
- CREDENTIAL_TOO_OLD_LOGIN_AGAIN: Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
- TOKEN_EXPIRED: Kullanıcının kimlik bilgisi artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
- INVALID_ID_TOKEN:Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
- WEAK_PASSWORD: Şifre 6 karakter uzunluğunda veya daha fazla olmalıdır.
OAuth kimlik bilgilerine bağlantı
Auth verifyAssertion
uç noktasına bir HTTP POST
isteği göndererek bir OAuth kimlik bilgisini bir kullanıcıya bağlayabilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]İstek Gövdesi Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
idToken | sicim | Kimlik bilgisini bağlamaya çalıştığınız hesabın Firebase ID jetonu. |
istekUri | sicim | IDP'nin kullanıcıyı geri yönlendirdiği URI. |
postaGövdesi | sicim | OAuth kimlik bilgilerini (bir kimlik belirteci veya erişim belirteci) ve kimlik bilgisini veren sağlayıcı kimliğini içerir. |
returnSecureToken | boolean | Bir kimliğin döndürülüp döndürülmeyeceği ve belirtecin yenilenip yenilenmeyeceği. Her zaman doğru olmalı. |
returnIdpCredential | boolean | Aşağıdaki hatalarda OAuth kimlik bilgilerinin geri döndürülmesinin zorlanıp zorlanmayacağı: FEDERATED_USER_ID_ALREADY_LINKED ve EMAIL_EXISTS. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
Federasyon kimliği | sicim | Benzersiz kimlik, IdP hesabını tanımlar. |
sağlayıcı kimliği | sicim | Bağlantılı sağlayıcı kimliği (örneğin, Google sağlayıcısı için "google.com"). |
yerel kimlik | sicim | Kimliği doğrulanmış kullanıcının kullanıcı kimliği. |
E-posta Doğrulandı | boolean | Oturum açma e-postasının doğrulanıp doğrulanmadığı. |
e-posta | sicim | Hesabın e-postası. |
oauthIdToken | sicim | Varsa OIDC kimlik belirteci. |
oauthAccessToken | sicim | Varsa OAuth erişim jetonu. |
oauthTokenSecret | sicim | Varsa OAuth 1.0 jeton sırrı. |
rawUserInfo | sicim | Sağlanan OAuth kimlik bilgisine karşılık gelen tüm IdP verilerini içeren dizeleştirilmiş JSON yanıtı. |
ilk adı | sicim | Hesabın ilk adı. |
soy isim | sicim | Hesabın soyadı. |
Ad Soyad | sicim | Hesabın tam adı. |
ekran adı | sicim | Hesabın görünen adı. |
fotoğrafUrl | sicim | Hesabın fotoğraf URL'si. |
idToken | sicim | Kimliği doğrulanmış kullanıcı için bir Firebase Auth ID jetonu. |
yenilemeTokenı | sicim | Kimliği doğrulanmış kullanıcı için Firebase Auth yenileme jetonu. |
içinde sona eriyor | sicim | Kimlik belirtecinin süresinin dolduğu saniye sayısı. |
OAuth ID belirteciyle örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","idToken":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir. Yanıt, kimliği doğrulanmış kullanıcıyla ilişkili Firebase ID jetonunu ve yenileme jetonunu içerir.
OAuth ID jetonunu içeren örnek yanıt
{ "federatedId": "https://accounts.google.com/1234567890", "providerId": "google.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthIdToken": "[GOOGLE_ID_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
OAuth erişim belirteciyle örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","idToken":"[FIREBASE_ID_TOKEN]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir. Yanıt, kimliği doğrulanmış kullanıcıyla ilişkili Firebase ID jetonunu ve yenileme jetonunu içerir.
OAuth erişim jetonunu içeren örnek yanıt
{ "federatedId": "http://facebook.com/1234567890", "providerId": "facebook.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://scontent.xx.fbcdn.net/v/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Twitter OAuth 1.0 kimlik bilgileriyle örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","idToken":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir. Yanıt, kimliği doğrulanmış kullanıcıyla ilişkili Firebase ID jetonunu ve yenileme jetonunu içerir.
Twitter OAuth 1.0 kimlik bilgilerini içeren örnek yanıt
{ "federatedId": "http://twitter.com/1234567890", "providerId": "twitter.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]", "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "http://abs.twimg.com/sticky/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Yaygın hata kodları
- OPERATION_NOT_ALLOWED: İlgili sağlayıcı bu proje için devre dışı bırakıldı.
- INVALID_IDP_RESPONSE: Sağlanan kimlik doğrulama bilgileri hatalı biçimlendirilmiş veya süresi dolmuş.
- INVALID_ID_TOKEN:Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
- EMAIL_EXISTS: E-posta adresi zaten başka bir hesap tarafından kullanılıyor.
- FEDERATED_USER_ID_ALREADY_LINKED: Bu kimlik bilgisi zaten farklı bir kullanıcı hesabıyla ilişkilendirilmiş.
Sağlayıcının bağlantısını kaldır
Auth setAccountInfo
uç noktasına bir HTTP POST
isteği göndererek bir sağlayıcının mevcut kullanıcıyla olan bağlantısını kaldırabilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]İstek Gövdesi Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
idToken | sicim | Hesabın Firebase ID jetonu. |
Sağlayıcıyı sil | Dizelerin listesi | Bağlantısı kaldırılacak sağlayıcı kimliklerinin listesi, örneğin: 'google.com', 'şifre' vb. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
yerel kimlik | sicim | Geçerli kullanıcının kullanıcı kimliği. |
e-posta | sicim | Hesabın e-postası. |
ekran adı | sicim | Hesabın görünen adı. |
fotoğrafUrl | sicim | Hesabın fotoğraf URL'si. |
şifreHash | sicim | Parolanın karma sürümü. |
sağlayıcıKullanıcıBilgisi | JSON nesnelerinin listesi | "providerId" ve "federatedId" içeren tüm bağlantılı sağlayıcı nesnelerinin listesi. |
E-posta Doğrulandı | boolean | Hesabın e-postasının doğrulanıp doğrulanmadığı. |
Örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]","deleteProvider":["[facebook.com]"]}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir.
Örnek yanıt
{ "localId": "huDwUz...", "email": "user@example.com", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "providerUserInfo": [ { "providerId": "google.com", "federatedId": "1234567890", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg" }, { "providerId": "password", "federatedId": "user@example.com" } ], "emailVerified": "true" }
Yaygın hata kodları
- INVALID_ID_TOKEN: Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
E-posta doğrulaması gönder
Auth getOobConfirmationCode
uç noktasına bir HTTP POST
isteği göndererek geçerli kullanıcı için bir e-posta doğrulaması gönderebilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]İsteğe Bağlı Başlıklar
Mülkiyet adı | Tanım |
---|---|
X-Firebase-Yerel Ayar | Kullanıcının yerel ayarına karşılık gelen dil kodu. Bunu geçmek, kullanıcıya gönderilen e-posta doğrulamasını yerelleştirir. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
İstek Türü | sicim | Gönderilecek onay kodunun türü. Her zaman "VERIFY_EMAIL" olmalıdır. |
idToken | sicim | Doğrulanacak kullanıcının Firebase ID jetonu. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
e-posta | sicim | Hesabın e-postası. |
Örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"requestType":"VERIFY_EMAIL","idToken":"[FIREBASE_ID_TOKEN]"}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir.
Örnek yanıt
{ "email": "user@example.com" }
Yaygın hata kodları
- INVALID_ID_TOKEN: Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
- USER_NOT_FOUND: Bu tanımlayıcıya karşılık gelen kullanıcı kaydı yok. Kullanıcı silinmiş olabilir.
E-posta doğrulamasını onaylayın
Auth setAccountInfo
uç noktasına bir HTTP POST
isteği göndererek e-posta doğrulama kodunu onaylayabilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]İstek Gövdesi Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
oobKodu | sicim | E-posta doğrulaması için kullanıcının e-postasına gönderilen işlem kodu. |
Mülkiyet adı | Tip | Tanım |
---|---|---|
e-posta | sicim | Hesabın e-postası. |
ekran adı | sicim | Hesabın görünen adı. |
fotoğrafUrl | sicim | Hesabın fotoğraf URL'si. |
şifreHash | sicim | Şifre karması. |
sağlayıcıKullanıcıBilgisi | JSON nesnelerinin listesi | "providerId" ve "federatedId" içeren tüm bağlantılı sağlayıcı nesnelerinin listesi. |
E-posta Doğrulandı | boolean | Hesabın e-postasının doğrulanıp doğrulanmadığı. |
Örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[VERIFICATION_CODE]"}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir.
Örnek yanıt
{ "localId": "FhyStE...", "email": "user@example.com", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ] }
Yaygın hata kodları
- EXPIRED_OOB_CODE: Eylem kodunun süresi doldu.
- INVALID_OOB_CODE: Eylem kodu geçersiz. Bu, kodun hatalı biçimlendirilmiş olması, süresinin dolması veya zaten kullanılmış olması durumunda meydana gelebilir.
- USER_DISABLED: Kullanıcı hesabı bir yönetici tarafından devre dışı bırakıldı.
- EMAIL_NOT_FOUND: Bu tanımlayıcıya karşılık gelen kullanıcı kaydı yok. Kullanıcı silinmiş olabilir.
Hesabı sil
Auth deleteAccount
uç noktasına bir HTTP POST
isteği göndererek geçerli bir kullanıcıyı silebilirsiniz.
Yöntem: POST
İçerik Türü: application/json
Uç noktahttps://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]İstek Gövdesi Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
idToken | sicim | Silinecek kullanıcının Firebase ID jetonu. |
Mülkiyet adı | Tip | Tanım |
---|
Örnek istek
curl 'https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'
Başarılı bir istek, 200 OK
HTTP durum koduyla gösterilir.
Yaygın hata kodları
- INVALID_ID_TOKEN:Kullanıcının kimlik bilgileri artık geçerli değil. Kullanıcının tekrar oturum açması gerekir.
- USER_NOT_FOUND: Bu tanımlayıcıya karşılık gelen kullanıcı kaydı yok. Kullanıcı silinmiş olabilir.
Firebase Kimlik Doğrulama Emülatörü
Firebase Local Emulator Suite, kimlik doğrulama akışlarının yerel prototiplenmesi ve test edilmesi için kullanılabilecek bir Kimlik Doğrulama emülatörü içerir. Emülatör aşağıdaki REST uç noktalarını ortaya çıkarır.
Kullanıcı hesaplarını temizle
Durumdan bağımsız olarak belirtilen projedeki tüm hesapları kaldırın.
Yöntem: SİL
Uç nokta Kimlik Doğrulama öykünücüsü için varsayılan bağlantı noktasının 9099
olduğunu unutmayın. Kullanılan gerçek bağlantı noktası için terminal çıkışını kontrol edin.
http://localhost:9099/emulator/v1/projects/{project-id}/accounts
Öykünücü yapılandırmasını alın
Belirtilen proje için öykünücüye özgü yapılandırmayı alın.
Yöntem: GET
Uç nokta Kimlik Doğrulama öykünücüsü için varsayılan bağlantı noktasının 9099
olduğunu unutmayın. Kullanılan gerçek bağlantı noktası için terminal çıkışını kontrol edin.
http://localhost:9099/emulator/v1/projects/{project-id}/configYanıt Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
kayıt olmak | nesne | allowDuplicateEmails (boolean) adlı tek bir anahtar içeren SignIn yapılandırma nesnesi. |
Yama öykünücüsü yapılandırması
Belirtilen proje için öykünücüye özgü yapılandırmayı güncelleyin.
Yöntem: PATCH
Uç nokta Kimlik Doğrulama öykünücüsü için varsayılan bağlantı noktasının 9099
olduğunu unutmayın. Kullanılan gerçek bağlantı noktası için terminal çıkışını kontrol edin.
İçerik Türü: application/json
http://localhost:9099/emulator/v1/projects/{project-id}/configGövde Yükünü Talep Et
Mülkiyet adı | Tip | Tanım |
---|---|---|
kayıt olmak | nesne | Tek anahtarlı istenen oturum açma yapılandırma nesnesi, allowDuplicateEmails (boolean). |
Mülkiyet adı | Tip | Tanım |
---|---|---|
kayıt olmak | nesne | Tek anahtarlı istek sonrası oturum açma yapılandırma nesnesi, allowDuplicateEmails (boolean). |
Bant dışı kimlik doğrulama kodlarını alın
Test ettiğiniz kimlik doğrulama akışları normalde bant dışı kodlar (örneğin, e-posta doğrulama kodları, parola sıfırlama kodları) oluşturuyorsa, emülatör bu kodları kullanılıncaya kadar dahili olarak saklar.
Yöntem: GET
Uç nokta Kimlik Doğrulama öykünücüsü için varsayılan bağlantı noktasının 9099
olduğunu unutmayın. Kullanılan gerçek bağlantı noktası için terminal çıkışını kontrol edin.
http://localhost:9099/emulator/v1/projects/{project-id}/oobCodesYanıt Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
oob Kodları | sıralamak | Bekleyen tüm onay kodlarının ayrıntılarını içeren bir nesne dizisi. Her nesne email (string), oobCode (string), oobLink (string) ve requestType (string) içerir. |
SMS doğrulama kodlarını alın
Telefon/SMS kimlik doğrulama akışlarını test ediyorsanız emülatör, bu tür SMS kodlarını kullanılıncaya kadar dahili olarak saklar.
Yöntem: GET
Uç nokta Kimlik Doğrulama öykünücüsü için varsayılan bağlantı noktasının 9099
olduğunu unutmayın. Kullanılan gerçek bağlantı noktası için terminal çıkışını kontrol edin.
http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodesYanıt Yükü
Mülkiyet adı | Tip | Tanım |
---|---|---|
doğrulamaKodları | sıralamak | Bekleyen tüm doğrulama kodlarının ayrıntılarını içeren bir nesne dizisi. Her nesne, phoneNumber (dize) ve sessionCode (dize) içerir. |
Hata Yanıtı
Hata yanıt formatı
Yukarıdaki API'lerden herhangi biri için arka uç sunucusundan bir hata döndürüldüğünde yanıt aşağıdaki formatta olacaktır.
Örnek yanıt
{ "error": { "errors": [ { "domain": "global", "reason": "invalid", "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN" } ], "code": 400, "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN" } }
Hata kodu mesaj alanından alınır. Yukarıdaki hata kodlarının tümü mesaj alanı içeriğiyle ilgilidir.