{"id":1682,"date":"2021-12-06T17:54:02","date_gmt":"2021-12-06T17:54:02","guid":{"rendered":"http:\/\/144.76.171.171\/blog\/?p=1682"},"modified":"2021-12-06T17:54:02","modified_gmt":"2021-12-06T17:54:02","slug":"firebase-user-authentication-firebase2","status":"publish","type":"post","link":"https:\/\/berenkudaygorun.com\/blog\/blog\/2021\/12\/06\/firebase-user-authentication-firebase2\/","title":{"rendered":"Firebase User Authentication &#8211; Firebase#2"},"content":{"rendered":"<h2>Firebase Kimlik Do\u011frulamas\u0131na Genel Bak\u0131\u015f<\/h2>\n<p>Firebase kimlik do\u011frulamas\u0131, minimum miktarda kodlamayla bir uygulamaya kullan\u0131c\u0131 hesab\u0131 olu\u015fturma ve oturum a\u00e7ma \u00f6zellikleri eklemenin bir yolunu sa\u011flar. Bir kullan\u0131c\u0131n\u0131n Firebase ile kimli\u011fi do\u011fruland\u0131ktan sonra, kullan\u0131c\u0131ya, veri depolama ve bulut mesajla\u015fma gibi di\u011fer Firebase hizmetlerini entegre ederken kullan\u0131labilecek benzersiz bir Firebase kullan\u0131c\u0131 kimli\u011fi atan\u0131r.<\/p>\n<p>\u0130ki t\u00fcr Firebase kimlik do\u011frulamas\u0131 mevcuttur, biri FirebaseUI Auth kullan\u0131m\u0131n\u0131 ve di\u011feri Firebase SDK'd\u0131r.<\/p>\n<h2>FirebaseAuth Instance<\/h2>\n<p>Bu nesneye bir referans al\u0131nd\u0131ktan sonra, hesap olu\u015fturma, kullan\u0131c\u0131lar\u0131n oturum a\u00e7ma ve kapatma ve mevcut kullan\u0131c\u0131yla ilgili bilgilere eri\u015fme veya bunlar\u0131 g\u00fcncelleme gibi bir dizi g\u00f6revi ger\u00e7ekle\u015ftirmek i\u00e7in kullan\u0131labilir.<\/p>\n<p>FirebaseAuth \u00f6rne\u011finin \u00f6nemli bir i\u015flevi, kimlik do\u011frulama durumu dinleyicisidir (AuthStateListener). FirebaseAuth \u00f6rne\u011fine eklendi\u011finde, uygulama, kullan\u0131c\u0131n\u0131n kimlik do\u011frulama durumundaki herhangi bir de\u011fi\u015fikli\u011fin bildirimini bu dinleyici arac\u0131l\u0131\u011f\u0131yla al\u0131r.<\/p>\n<h2>AuthUI Instance<\/h2>\n<p>Sonra a\u00e7\u0131klayaca\u011f\u0131m.<\/p>\n<h2>FirebaseUser Class<\/h2>\n<p>FirebaseUser s\u0131n\u0131f\u0131, o anda kimli\u011fi do\u011frulanm\u0131\u015f kullan\u0131c\u0131n\u0131n profil bilgilerini kaps\u00fcllemek i\u00e7in kullan\u0131l\u0131r. Bu t\u00fcrden bir nesne, \u00f6rne\u011fin, FirebaseAuth \u00f6rne\u011finin <code>getCurrentUser()<\/code> y\u00f6ntemine bir \u00e7a\u011fr\u0131 yap\u0131ld\u0131\u011f\u0131nda d\u00f6nd\u00fcr\u00fcl\u00fcr. Nesnede depolanan veriler, \u015fu anda hangi kimlik do\u011frulama sa\u011flay\u0131c\u0131s\u0131n\u0131n kullan\u0131ld\u0131\u011f\u0131na ba\u011fl\u0131 olarak de\u011fi\u015fecektir, ancak genellikle kullan\u0131c\u0131n\u0131n g\u00f6r\u00fcnen ad\u0131, e-posta adresi, bir profil foto\u011fraf\u0131n\u0131n URL'si ve oturum a\u00e7mak i\u00e7in kullan\u0131lan kimlik do\u011frulama sa\u011flay\u0131c\u0131s\u0131n\u0131n kimli\u011fi gibi bilgileri i\u00e7erir. Kullan\u0131c\u0131n\u0131n profil bilgilerini g\u00fcncellemek, kullan\u0131c\u0131n\u0131n e-posta adresini do\u011frulamak, kullan\u0131c\u0131n\u0131n Firebase kullan\u0131c\u0131 kimli\u011fine eri\u015fmek ve kullan\u0131c\u0131n\u0131n hesab\u0131n\u0131 silmek gibi g\u00f6revleri ger\u00e7ekle\u015ftirmek i\u00e7in y\u00f6ntemler de dahildir.<\/p>\n<h2>AuthCredential Classes<\/h2>\n<p>AuthCredential s\u0131n\u0131f\u0131, kullan\u0131c\u0131 hesab\u0131 kimlik bilgilerini Firebase ile uyumlu bir \u015fekilde kaps\u00fcllemek i\u00e7in kullan\u0131l\u0131r. Bu s\u0131n\u0131f, bir Firebase hesab\u0131n\u0131n kimlik bilgileri i\u00e7in bir \u00fc\u00e7\u00fcnc\u00fc taraf kimlik do\u011frulama sa\u011flay\u0131c\u0131s\u0131ndan bir belirte\u00e7 de\u011fi\u015ftirilirken kullan\u0131l\u0131r. \u00d6rne\u011fin, bir kullan\u0131c\u0131 Facebook veya Twitter gibi bir \u00fc\u00e7\u00fcnc\u00fc taraf platformu i\u00e7in kimlik do\u011frulama sa\u011flay\u0131c\u0131s\u0131n\u0131 kullanarak oturum a\u00e7t\u0131\u011f\u0131nda, uygulamaya bu platform i\u00e7in bir kullan\u0131c\u0131 simgesi sa\u011flan\u0131r. Elde edildikten sonra, bu belirtecin, kullan\u0131c\u0131 i\u00e7in bir Firebase hesab\u0131 olu\u015fturmak i\u00e7in kullan\u0131ld\u0131\u011f\u0131 Firebase'e iletilmesi gerekir. Ancak bunun ger\u00e7ekle\u015febilmesi i\u00e7in, \u00fc\u00e7\u00fcnc\u00fc taraf sa\u011flay\u0131c\u0131 belirtecinin, ilgili kimlik do\u011frulama sa\u011flay\u0131c\u0131 s\u0131n\u0131f\u0131n\u0131n <code>getCredential()<\/code> y\u00f6ntemine bir \u00e7a\u011fr\u0131 yap\u0131larak bir AuthCredential nesnesine d\u00f6n\u00fc\u015ft\u00fcr\u00fclmesi gerekir. Her kimlik do\u011frulama sa\u011flay\u0131c\u0131s\u0131 i\u00e7in kar\u015f\u0131l\u0131k gelen bir AuthCredential alt s\u0131n\u0131f\u0131 vard\u0131r:<\/p>\n<ul>\n<li>EmailAuthCredential<\/li>\n<li>PhoneAuthCredential<\/li>\n<li>FacebookAuthCredential<\/li>\n<li>GithubAuthCredential<\/li>\n<li>GoogleAuthCredential<\/li>\n<li>TwitterAuthCredential<\/li>\n<\/ul>\n<h2>Authentication Provider Classes<\/h2>\n<p>Kimlik do\u011frulama sa\u011flay\u0131c\u0131lar\u0131n\u0131n her birinin, kimlik do\u011frulama i\u015flemi s\u0131ras\u0131nda kullan\u0131lan kendi s\u0131n\u0131f\u0131 vard\u0131r (\u00f6zellikle yukar\u0131da belirtildi\u011fi gibi bir AuthCredential nesnesi olu\u015fturmak i\u00e7in). Firebase \u015fu anda a\u015fa\u011f\u0131daki kimlik do\u011frulama sa\u011flay\u0131c\u0131 s\u0131n\u0131flar\u0131n\u0131 i\u00e7erir:<\/p>\n<ul>\n<li>EmailAuthProvider<\/li>\n<li>PhoneAuthProvider<\/li>\n<li>FacebookAuthProvider<\/li>\n<li>GithubAuthProvider<\/li>\n<li>GoogleAuthSa\u011flay\u0131c\u0131<\/li>\n<li>TwitterAuthProvider<\/li>\n<\/ul>\n<h2>FirebaseUI Yetkilendirme Kimlik Do\u011frulamas\u0131<\/h2>\n<ol>\n<li>\n<p>Firebase konsolunda gerekli kimlik do\u011frulama sa\u011flay\u0131c\u0131lar\u0131n\u0131 etkinle\u015ftirin.<\/p>\n<\/li>\n<li>\n<p>Uygulamay\u0131, deste\u011fin gerekli oldu\u011fu \u00fc\u00e7\u00fcnc\u00fc taraf kimlik do\u011frulama sa\u011flay\u0131c\u0131lar\u0131na (Google, Facebook, Twitter ve GitHub) kaydedin.<\/p>\n<\/li>\n<li>\n<p>Firebase SDK kitapl\u0131klar\u0131n\u0131 Android Studio projesine ekleyin.<\/p>\n<\/li>\n<li>\n<p>Payla\u015f\u0131lan FirebaseAuth \u00f6rne\u011fine bir referans al\u0131n.<\/p>\n<\/li>\n<li>\n<p>FirebaseAuth \u00f6rne\u011fine bir AuthStateListener \u00f6rne\u011fi uygulay\u0131n ve ekleyin ve geri arama y\u00f6ntemleri yaz\u0131n.<\/p>\n<\/li>\n<li>\n<p>Unutulan parolalar i\u00e7in se\u00e7enekler de dahil olmak \u00fczere oturum a\u00e7ma ekran\u0131 i\u00e7in kullan\u0131c\u0131 arabirimi d\u00fczenini tasarlay\u0131n.<\/p>\n<\/li>\n<li>\n<p>Desteklenecek kimlik do\u011frulama sa\u011flay\u0131c\u0131lar\u0131n\u0131n her biri i\u00e7in uyarlamalar dahil olmak \u00fczere hesap olu\u015fturma, oturum a\u00e7ma, oturumu kapatma ve parola s\u0131f\u0131rlama i\u015flemlerini y\u00fcr\u00fctmek i\u00e7in kod uygulay\u0131n.<\/p>\n<\/li>\n<li>\n<p>E\u015fde\u011fer Firebase kimlik bilgileri i\u00e7in \u00fc\u00e7\u00fcnc\u00fc taraf kimlik do\u011frulama sa\u011flay\u0131c\u0131lar\u0131ndan jeton al\u0131\u015fveri\u015fi yap\u0131n.<\/p>\n<\/li>\n<li>\n<p>Kimlik do\u011frulama sonu\u00e7lar\u0131n\u0131 AuthStateListener \u00f6rne\u011finin geri \u00e7a\u011fr\u0131s\u0131 i\u00e7inde i\u015fleyin.<\/p>\n<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Firebase Kimlik Do\u011frulamas\u0131na Genel Bak\u0131\u015f Firebase kimlik do\u011frulamas\u0131, minimum miktarda kodlamayla bir uygulamaya kullan\u0131c\u0131 hesab\u0131 olu\u015fturma ve oturum a\u00e7ma \u00f6zellikleri eklemenin bir yolunu sa\u011flar. Bir&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/berenkudaygorun.com\/blog\/blog\/2021\/12\/06\/firebase-user-authentication-firebase2\/\">Devam\u0131n\u0131 oku<span class=\"screen-reader-text\">Firebase User Authentication &#8211; Firebase#2<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[363,647],"tags":[634],"class_list":["post-1682","post","type-post","status-publish","format-standard","hentry","category-android","category-firebase","tag-firebase","entry"],"_links":{"self":[{"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/posts\/1682","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/comments?post=1682"}],"version-history":[{"count":1,"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/posts\/1682\/revisions"}],"predecessor-version":[{"id":1683,"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/posts\/1682\/revisions\/1683"}],"wp:attachment":[{"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/media?parent=1682"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/categories?post=1682"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/berenkudaygorun.com\/blog\/wp-json\/wp\/v2\/tags?post=1682"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}