Bu sayfada, Firebase Authentication kullanımıyla ilgili sık sorulan soruların yanıtları ve sorun giderme yardımı yer almaktadır. Aradığınızı bulamıyorsanız veya ek yardıma ihtiyacınız varsa Firebase Destek Ekibi ile iletişime geçin.
Telefonla kimlik doğrulama hangi bölgelerde desteklenir?
Firebase Authentication, telefon numarası doğrulamasını dünya genelinde destekler ancak tüm ağlar doğrulama mesajlarını güvenilir bir şekilde iletmez. Aşağıdaki bölgelerde iyi bir teslimat oranı vardır ve telefonla kimlik doğrulama için iyi çalışması beklenir. Belirtildiği gibi, bazı operatörler düşük teslimat başarı oranları nedeniyle bir bölgede kullanılamaz.
| Bölge | Kod |
|---|---|
| REKLAM | Andora |
| AE | Birleşik Arap Emirlikleri |
| AF | Afganistan |
| AG | Antigua ve Barbuda |
| AL | Arnavutluk |
| ÖÖ | Ermenistan |
| AO | Angola |
| AR | Arjantin |
| AS | Amerikan Samoası |
| AT | Avusturya |
| AU | Avustralya |
| AW | Aruba |
| AZ | Azerbaycan |
| BA | Bosna Hersek |
| BB | Barbados |
| BD | Bangladeş |
| BE | Belçika |
| BF | Burkina Faso |
| BG | Bulgaristan |
| BJ | Benin |
| BM | Bermuda |
| BN | Brunei Darussalam |
| BO | Bolivya |
| BR | Brezilya |
| BS | Bahamalar |
| BT | Butan |
| BW | Botsvana |
| BY | Belarus |
| BZ | Belize |
| CA | Kanada |
| CD | Kongo (Kinşasa) |
| CF | Orta Afrika Cumhuriyeti |
| CG | Kongo (Brazavil) |
| CH | İsviçre |
| CI | Fildişi Sahili |
| CK | Cook Adaları |
| CL | Şili |
| CM | Kamerun |
| CO | Kolombiya |
| CR | Kosta Rika |
| CV | Cabo Verde |
| CW | Curaçao |
| CY | Güney Kıbrıs Rum Yönetimi |
| CZ | Çek Cumhuriyeti |
| DE | Almanya |
| DJ | Cibuti |
| DK | Danimarka |
| DM | Dominika |
| DO | Dominik Cumhuriyeti |
| DZ | Cezayir |
| EC | Ekvador |
| EG | Mısır |
| ES | İspanya |
| ET | Etiyopya |
| FI | Finlandiya |
| FJ | Fiji |
| FK | Falkland Adaları (Malvinas) |
| FM | Mikronezya Federe Devletleri |
| FO | Faroe Adaları |
| FR | Fransa |
| GKST | Gabon |
| GB | İngiltere |
| A | Grenada |
| GE | Gürcistan |
| AG | Fransız Guyanası |
| GG | Guernsey |
| GH | Gana |
| GI | Cebelitarık |
| GL | Grönland |
| GM | Gambiya |
| OM | Guadalup |
| GQ | Ekvator Ginesi |
| GR | Yunanistan |
| GT | Guatemala |
| GY | Guyana |
| HK | Hong Kong, SAR Çin |
| HN | Honduras |
| İK | Hırvatistan |
| DA | Haiti |
| HU | Macaristan |
| Kimlik | Endonezya |
| IE | İrlanda |
| IL | İsrail |
| IM | Man Adası |
| GİRİŞ | Hindistan |
| IQ | Irak |
| IT | İtalya |
| JE | Jersey |
| JM | Jamaika |
| JO | Ürdün |
| JP | Japonya |
| KE | Kenya |
| KG | Kırgızistan |
| KH | Kamboçya |
| KM | Comoros |
| KN | Saint Kitts ve Nevis |
| KR | Kore (Güney) |
| KW | Kuveyt |
| KY | Cayman Adaları |
| KZ | Kazakistan |
| LA | Lao PDR |
| LB | Lübnan |
| LC | Saint Lucia |
| LI | Liechtenstein |
| LK | Sri Lanka |
| LS | Lesotho |
| LT | Litvanya |
| LU | Lüksemburg |
| LV | Letonya |
| LY | Libya |
| MA | Fas |
| MD | Moldova |
| ME | Karadağ |
| MF | Saint-Martin (Fransız bölgesi) |
| MG | Madagaskar |
| MK | Makedonya Cumhuriyeti |
| MM | Myanmar |
| MN | Moğolistan |
| MO | Makao, Çin Özerk İdari Bölgesi |
| MS | Montserrat |
| MT | Malta |
| MU | Mauritius Adası |
| MW | Malawi |
| MX | Meksika |
| MY | Malezya |
| MZ | Mozambik |
| NA | Namibya |
| NC | Yeni Kaledonya |
| KD | Nijer |
| NF | Norfolk Adası |
| NG | Nijerya |
| NI | Nikaragua |
| NL | Hollanda |
| HAYIR | Norveç |
| NP | Nepal |
| NZ | Yeni Zelanda |
| OM | Umman |
| PA | Panama |
| PE | Peru |
| PG | Papua Yeni Gine |
| PH | Filipinler |
| PK | Pakistan |
| PL | Polonya |
| ÖS | Saint Pierre ve Miquelon |
| PR | Porto Riko |
| PS | Filistin Bölgesi |
| PT | Portekiz |
| PY | Paraguay |
| kalite güvencesi | Katar |
| RE | Réunion |
| RO | Romanya |
| RS | Sırbistan |
| RU | Rusya Federasyonu |
| RW | Ruanda |
| SA | Suudi Arabistan |
| SC | Seyşeller |
| SE | İsveç |
| SG | Singapur |
| Out vuruşu | Saint Helena |
| SI | Slovenya |
| SK | Slovakya |
| SL | Sierra Leone |
| SN | Senegal |
| SR | Surinam |
| ST | Sao Tome ve Principe |
| SV | El Salvador |
| SZ | Svaziland |
| TC | Turks ve Caicos Adaları |
| TG | Togo |
| TH | Tayland |
| TL | Doğu Timor |
| Ticari marka | Türkmenistan |
| TK | Tonga |
| TR | Türkiye |
| TT | Trinidad ve Tobago |
| TW | Tayvan, Çin Cumhuriyeti |
| TZ | Tanzanya Birleşik Cumhuriyeti |
| UA | Ukrayna |
| UG | Uganda |
| ABD | Amerika Birleşik Devletleri |
| UY | Uruguay |
| UZ | Özbekistan |
| VC | Saint Vincent ve Grenadinler |
| VE | Venezuela (Bolivar Cumhuriyeti) |
| VG | Britanya Virjin Adaları |
| VI | Virgin Adaları, ABD |
| VN | Vietnam |
| WS | Samoa |
| YE | Yemen |
| YT | Mayotte |
| ZA | Güney Afrika |
| ZM | Zambiya |
| ZW | Zimbabve |
Spark fiyatlandırma planındaki ücretsiz SMS'lere ne oldu?
Eylül 2024'ten itibaren, Telefonla Kimlik Doğrulama'nın güvenliğini ve hizmet kalitesini artırmak için Firebase projelerinin SMS Hizmeti'ni etkinleştirmek ve kullanmak üzere bir Cloud Billing hesabına bağlanması gerekecek.
Telefonla kimlik doğrulama kullanırken SMS kötüye kullanımını nasıl önleyebilirim?
Projenizi SMS trafiği pompalamaya ve API'nin kötüye kullanımına karşı korumak için aşağıdaki adımları uygulayın:
SMS bölgesi politikası belirlemeyi düşünün
Bölgesel SMS kullanımınızı görüntüleme.
Çok yüksek sayıda gönderilmiş SMS ve çok düşük sayıda (veya sıfır) doğrulanmış SMS olan bölgeleri bulun. Doğrulanmış/gönderilmiş oranı, başarı oranınızdır. SMS, teslimat garantisi olan bir protokol olmadığından ve bazı bölgelerde kötüye kullanım yaşanabileceğinden sağlıklı başarı oranları genellikle% 70-85 aralığındadır. %50'den düşük başarı oranları, çok sayıda SMS gönderildiği ancak az sayıda başarılı giriş yapıldığı anlamına gelir. Bu durum, kötü niyetli kullanıcıların ve SMS trafiği şişirme işleminin yaygın bir göstergesidir.
Başarı oranı düşük olan SMS bölgelerini reddetmek veya uygulamanız yalnızca belirli pazarlarda dağıtılmak üzere tasarlanmışsa yalnızca belirli bölgelere izin vermek için SMS Bölge Politikası'nı kullanın.
Yetkilendirilmiş kimlik doğrulama alanlarınızı sınırlama
Yetkili alanları yönetmek için kimlik doğrulama ayarları kontrol panelini kullanın. Geliştirmeyi basitleştirmek için localhost alanı varsayılan olarak onaylanmış kimlik doğrulama alanlarına eklenir. Kötü niyetli kişilerin, üretim projenize erişmek için localhost üzerinde kod çalıştırmasını önlemek amacıyla localhost alanını yetkili alanlardan kaldırmayı düşünebilirsiniz.
App Check özelliğini etkinleştirme ve zorunlu kılma
İsteklerin yalnızca projenizle ilişkili uygulamalardan geldiğini onaylayarak projenizi API kötüye kullanımından korumaya yardımcı olmak için App Check'ı etkinleştirin.
App Check özelliğini Firebase Authentication ile kullanmak için Firebase Authentication with Identity Platform sürümüne geçmeniz gerekir.
Firebase konsolunda App Check için Authentication'yi zorunlu kılmanız gerektiğini unutmayın (zorunlu kılmadan önce trafiği izlemeyi düşünebilirsiniz). Ayrıca, reCAPTCHA Enterprise onaylı siteler listenizi kontrol ederek yalnızca üretim sitelerinizi içerdiğinden ve App Check'da projenize kayıtlı uygulamaların listesinin doğru olduğundan emin olun.
App Check, çağrının kayıtlı uygulamalarınızdan birinden geldiğini onaylayarak otomatik saldırılara karşı koruma sağladığını unutmayın. Kullanıcıların uygulamanızı amaçlanmayan şekillerde kullanmasını (ör. gönderilen SMS oluşturmak için giriş akışlarını başlatıp asla tamamlamamak) engellemez.
Telefon numaralarının yeni bir operatöre taşınması, telefonla kimlik doğrulama tarafından destekleniyor mu?
Şu anda, operatörler arasında taşınan numaralar, bu son kullanıcılar için tüm SMS'lerin teslim edilememesine neden olmaktadır. Bu sorun için geçici bir çözüm yoktur ve Firebase bu sorun üzerinde çalışmaktadır.
Android uygulamamda neden şu hatayı alıyorum:
Google sign in failed ?
Google sign in failedAşağıdaki hatayı alıyorsanız bu SSS bölümündeki sorun giderme adımlarını uygulayın:
GoogleFragment: Google sign in failed
com.google.android.gms.common.api.ApiException: 13: Unable to get token.
at
com.google.android.gms.internal.auth-api.zbay.getSignInCredentialFromIntent(com.google.android.gms:play-services-auth@@20.3.0:6)
Kimlik doğrulama sağlayıcı olarak Google ile oturum açma özelliğinin düzgün şekilde etkinleştirildiğinden emin olun:
Firebase konsolunda Authentication bölümünü açın.
Oturum açma yöntemi sekmesinde, Google oturum açma yöntemini devre dışı bırakıp yeniden etkinleştirin (zaten etkinleştirilmiş olsa bile):
Google ile oturum açma yöntemini açın, devre dışı bırakın ve Kaydet'i tıklayın.
Google ile oturum açma yöntemini yeniden açın, etkinleştirin ve Kaydet'i tıklayın.
Uygulamanızın güncel Firebase yapılandırma dosyasını kullandığından emin olun (
google-services.json).
Uygulamanızın yapılandırma dosyasını edinin.Hatayı almaya devam edip etmediğinizi kontrol edin. Bu durumdaysanız sonraki sorun giderme adımına geçin.
Gerekli temel OAuth 2.0 istemcilerinin mevcut olduğundan emin olun.
Google Cloud konsolunun Kimlik Bilgileri sayfasındaki OAuth 2.0 İstemci Kimlikleri bölümüne bakın.
OAuth 2.0 istemcileri yoksa (ve yukarıdaki tüm sorun giderme adımlarını uyguladıysanız) destek ekibiyle iletişime geçin.
Apple platformu uygulamamda neden şu hatayı alıyorum:
You must specify <clientID> in <GIDConfiguration> ?
You must specify <clientID> in <GIDConfiguration>Aşağıdaki hatayı alıyorsanız bu SSS bölümündeki sorun giderme adımlarını uygulayın:
You must specify |clientID| in |GIDConfiguration|
Kimlik doğrulama sağlayıcı olarak Google ile oturum açma özelliğinin düzgün şekilde etkinleştirildiğinden emin olun:
Firebase konsolunda Authentication bölümünü açın.
Oturum açma yöntemi sekmesinde, Google oturum açma yöntemini devre dışı bırakıp yeniden etkinleştirin (zaten etkinleştirilmiş olsa bile):
Google ile oturum açma yöntemini açın, devre dışı bırakın ve Kaydet'i tıklayın.
Google ile oturum açma yöntemini yeniden açın, etkinleştirin ve Kaydet'i tıklayın.
Uygulamanızın güncel Firebase yapılandırma dosyasını kullandığından emin olun (
GoogleService-Info.plist).
Uygulamanızın yapılandırma dosyasını edinin.Hatayı almaya devam edip etmediğinizi kontrol edin. Bu durumdaysanız sonraki sorun giderme adımına geçin.
Gerekli temel OAuth 2.0 istemcilerinin mevcut olduğundan emin olun.
Google Cloud konsolunun Kimlik Bilgileri sayfasındaki OAuth 2.0 İstemci Kimlikleri bölümüne bakın.
OAuth 2.0 istemcileri yoksa (ve yukarıdaki tüm sorun giderme adımlarını uyguladıysanız) destek ekibiyle iletişime geçin.
Web uygulamamda neden şu hatayı alıyorum:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID ?
AuthErrorCode.INVALID_OAUTH_CLIENT_IDAşağıdaki hatayı alıyorsanız bu SSS bölümündeki sorun giderme adımlarını uygulayın:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
Kimlik doğrulama sağlayıcı olarak Google ile oturum açma özelliğinin düzgün şekilde etkinleştirildiğinden emin olun:
Firebase konsolunda Authentication bölümünü açın.
Oturum açma yöntemi sekmesinde, Google oturum açma yöntemini devre dışı bırakıp yeniden etkinleştirin (zaten etkinleştirilmiş olsa bile):
Google ile oturum açma yöntemini açın, devre dışı bırakın ve Kaydet'i tıklayın.
Google ile oturum açma yöntemini yeniden açın, etkinleştirin ve Kaydet'i tıklayın.
Ayrıca, Authentication bölümünün Google ile oturum açma sağlayıcı yapılandırmasında, OAuth istemci kimliğinin ve gizli anahtarının, Google Cloud konsolunun Kimlik Bilgileri sayfasında gösterilen web istemcisiyle eşleştiğinden emin olun (OAuth 2.0 İstemci Kimlikleri bölümüne bakın).
Web uygulamamda, yönlendirmelerle oturum açma neden aşağıdaki hatayla başarısız oluyor:
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation ?
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operationAşağıdaki hatayı alıyorsanız bu SSS bölümündeki sorun giderme adımlarını uygulayın:
This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation.
Bu hatanın en olası nedeni, yönlendirme alanınızın Firebase Authentication için yetkili alan olarak listelenmemesi veya Firebase Authentication hizmetiyle kullandığınız API anahtarının geçersiz olmasıdır.
Öncelikle YOUR_REDIRECT_DOMAIN alanının Firebase projenizin yetkili alanlar listesinde olduğundan emin olun. Yönlendirme alanınız zaten orada listeleniyorsa geçersiz API anahtarıyla ilgili sorun gidermeye devam edin.
Firebase Authentication JS SDK, varsayılan olarak Firebase projenizin Browser key olarak etiketlenen API anahtarını kullanır ve oturum açma yönlendirme URL'sinin yetkili alanlar listesine göre geçerli olduğunu doğrulamak için bu anahtarı kullanır.
Authentication SDK'sına erişme şeklinize bağlı olarak bu API anahtarını alır:Authentication
Kullanıcıların Authentication JS SDK ile oturum açmasını sağlamak için Hosting tarafından sağlanan Auth yardımcılarını kullanıyorsanız Firebase, Firebase Hosting'e her dağıtım yaptığınızda API anahtarınızı Firebase yapılandırmanızın geri kalanıyla birlikte otomatik olarak alır.
authDomainweb uygulamanızdakifirebaseConfigHosting sitesinin alanlarından birini kullanmak için doğru şekilde yapılandırıldığından emin olun.https://authDomain__/firebase/init.jsonbölümüne gidipprojectIddeğerininfirebaseConfigdeğerinizle eşleştiğini kontrol ederek bunu doğrulayabilirsiniz.Oturum açma kodunu kendiniz barındırıyorsanız, Firebase yapılandırmasını kendiniz barındırdığınız Authentication JS SDK yönlendirme yardımcısına sağlamak için
__/firebase/init.jsondosyası kullanabilirsiniz. Bu yapılandırma dosyasında listelenen API anahtarı veprojectId, web uygulamanızlafirebaseConfigeşleşmelidir.
Bu API anahtarının silinmediğinden emin olmak için kontrol edin: Projenizdeki tüm API anahtarlarının listelendiği Google Cloud konsolunda API'ler ve Hizmetler > Kimlik Bilgileri paneline gidin.
Browser keysilinmediyse aşağıdakileri kontrol edin:Firebase Authentication API'nin, anahtarın erişebileceği izin verilen API'ler listesinde olduğundan emin olun (API anahtarları için API kısıtlamaları hakkında daha fazla bilgi edinin).
Oturum açma kodunu kendiniz barındırıyorsanız
__/firebase/init.jsondosyanızda listelenen API anahtarının Google Cloud konsolundaki API anahtarıyla eşleştiğinden emin olun. Gerekirse dosyadaki anahtarı düzeltin, ardından uygulamanızı yeniden dağıtın.Browser keysilindiyse Firebase'in sizin için yeni bir API anahtarı oluşturmasını sağlayabilirsiniz: Firebase konsolundasettings > Proje ayarları 'na gidin, ardından Uygulamalarınız bölümünde web uygulamanızı tıklayın. Bu işlem, web uygulamanızın SDK kurulumu ve yapılandırması bölümünde görebileceğiniz bir API anahtarı oluşturur.
Google Cloud konsolunda bu yeni API anahtarının
Browser keyolarak adlandırılmayacağını, bunun yerine Firebase web uygulamanızın takma adıyla aynı ada sahip olacağını unutmayın. Bu yeni API anahtarına API kısıtlamaları eklemeye karar verirseniz Firebase Authentication API'nin izin verilen API'ler listesinde olduğundan emin olun.Yeni API anahtarınız oluşturulduktan sonra aşağıdaki adımları uygulayın:
Ayrılmış Hosting URL'ler kullanıyorsanız uygulamanızı Firebase'e yeniden dağıtın. Böylece, Firebase yapılandırmanızın geri kalanıyla birlikte yeni API anahtarını otomatik olarak alabilir.
Oturum açma kodunu kendiniz barındırıyorsanız yeni API anahtarını kopyalayıp
__/firebase/init.jsondosyanıza ekleyin ve uygulamanızı yeniden dağıtın.
OAuth web istemcisini manuel olarak nasıl oluşturabilirim?
Google Cloud konsolunun Kimlik bilgileri sayfasını açın.
Sayfanın üst kısmında Kimlik bilgileri oluştur > OAuth istemci kimliği'ni seçin.
Kullanıcı rızası ekranınızı yapılandırmanız istenirse ekrandaki talimatları uygulayın ve ardından bu SSS'nin sonraki adımlarıyla devam edin.
OAuth web istemcisini oluşturun:
Application Type (Uygulama Türü) için Web application'ı (Web uygulaması) seçin.
Yetkilendirilmiş JavaScript kaynakları için aşağıdakileri ekleyin:
http://localhosthttp://localhost:5000https://PROJECT_ID.firebaseapp.comhttps://PROJECT_ID.web.app
Yetkilendirilmiş yönlendirme URI'leri için aşağıdakileri ekleyin:
https://PROJECT_ID.firebaseapp.com/__/auth/handlerhttps://PROJECT_ID.web.app/__/auth/handler
OAuth istemcisini kaydedin.
Yeni OAuth istemci kimliğini ve istemci gizli anahtarını panonuza kopyalayın.
Firebase konsolunda Authentication bölümünü açın.
Oturum açma yöntemi sekmesinde Google ile oturum açma sağlayıcısını açın, ardından yeni oluşturduğunuz ve Google Cloud konsolundan kopyaladığınız web sunucusu istemci kimliğini ve gizli anahtarını yapıştırın. Kaydet'i tıklayın.
Bir kullanıcı e-posta adresi ve şifre kullanarak kaydolduğunda gönderilebilecek onay e-postası için e-posta şablonunda %APP_NAME% nasıl belirlenir?
Aralık 2022'den önce, e-posta şablonundaki %APP_NAME%, bir Android uygulaması Firebase projesine her kaydedildiğinde otomatik olarak sağlanan OAuth marka adıyla dolduruluyordu. OAuth markası yalnızca Google ile oturum açma etkinleştirildiğinde sağlandığından %APP_NAME% değerinin nasıl belirlendiği aşağıda açıklanmıştır:
OAuth marka adı varsa e-posta şablonundaki
%APP_NAME%, OAuth marka adı olur (Aralık 2022'den önceki davranışla aynı).OAuth marka adı kullanılamıyorsa e-posta şablonundaki
%APP_NAME%şu şekilde belirlenir:Web uygulamaları için
%APP_NAME%, varsayılan Firebase Hosting site adı olur (.firebaseapp.comve.web.appöncesindeki değer ve genellikle Firebase proje kimliği).Mobil uygulamalar için:
İstek Android paket adını veya iOS paket kimliğini içeriyorsa
%APP_NAME%, Play Store ya da App Store'da (sırasıyla) kullanılan uygulama adı olur.Aksi takdirde,
%APP_NAME%, varsayılan Firebase Hosting site adı olur (.firebaseapp.comve.web.appdeğerlerinden önce gelen ve genellikle Firebase proje kimliği olan değer).
Varsayılan Firebase Hosting site adının araması başarısız olursa son yedek olarak Firebase proje kimliğinin
%APP_NAME%olarak kullanılacağını unutmayın.