2016-04-13 16 views
5

Facebook sadece Onların telefon numarası veya e-posta adresini kullanarak giriş izni tanır F8 2016Firebase: Uygulama kullanıcılarının kimliklerini doğrulamak için Facebook'un yeni Hesap Kiti'ni kullanabilir miyim?

de tanıtıldı.

Firebase için normal Facebook oturum açmada kimlik doğrulaması yapmak için döndürülen erişim belirtecini kullanmaya çalıştım ancak işe yaramadı.

Facebook Kullanıcı Kitini kullanarak Firebase'i kullanarak uygulama kullanıcılarının kimliğini doğrulamanın bir yolu var mı?

Ek Bilgi

Ben o zaman erişim belirtecini kullanarak Firebase ile kimlik doğrulaması deneyin Hesap Kit ile giriş ve AccountKit.getCurrentAccessToken();

sahip bir erişim belirteci alabilir

:

Seçenek 1)

mFirebaseRef.authWithOAuthToken("facebook", accessToken.getToken(), new AuthResultHandler("facebook"));

-> FirebaseError: Geçersiz kimlik doğrulama bilgileri sağlandı.

Seçenek 2)

mFirebaseRef.authWithCustomToken(accessToken.getToken(), new Firebase.AuthResultHandler() { ... }

-> FirebaseError: Başarısız oturum - Yetkilendirme jetonu ayrıştırılamadı.

(Btw. Erişim belirteci dize Normal Facebook Giriş düğmesini kullanarak giriş eğer oluşturulan belirteci yarısı uzunluğudur.) Zaten Hesap Kit tarafından üretilen belirteci kullanabilirsiniz acaba

Firebase ile kimlik doğrulamak için?

+0

Evet, AccountKit'i kullanabilirsiniz. Bu bağlantıyı https://developers.facebook.com/apps/YOUR_APP_ID_HERE/account-kit/ –

+0

adresine başvurarak daha fazla ayrıntı eklemeniz gerekir. Kod parçaları ve hata günlükleri gibi. Yani topluluk sorunun nerede olduğunu anlayabiliyor. –

+0

Belgelere göre, bu yetkilendirmeyi sunucunuzdan bir yetkilendirme belirteci için değiştirmeniz gerekir.VEYA, çalışması gereken erişim belirtecini almak için uygulama yapılandırmanızda bazı anahtarlara basabilirsiniz. Bu sayfa faydalıdır: https://developers.facebook.com/docs/accountkit/accesstokens – Christopher

cevap

5

Evet, bu kadar mümkün Firebase Custom Authentication kullanarak: -

(. https://groups.google.com/forum/#!topic/firebase-talk/qrb1gWBKO3M Btw ben de burada bir cevap almaya çalıştı) .

Kullanıcı hesabı kimliği veya telefon numarası kullanıcı kodu kullanılarak Firebase özel belirteçleri oluşturabilen bir kimlik doğrulama sunucusu kurmanız gerekir. kimlik doğrulama sunucusundan özel belirteci aldığımızda

, daha sonra böyle Firebase oturum için kullanabilirsiniz:

mAuth.signInWithCustomToken(mCustomToken) 
     .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
      @Override 
      public void onComplete(@NonNull Task<AuthResult> task) { 
       Log.d(TAG, "signInWithCustomToken:onComplete:" + task.isSuccessful()); 
       if (!task.isSuccessful()) { 
        Log.w(TAG, "signInWithCustomToken", task.getException()); 
        Toast.makeText(CustomAuthActivity.this, "Authentication failed.", 
          Toast.LENGTH_SHORT).show(); 
       } 
      } 
     }); 

Bu blog post bunu nasıl uygulanacağı konusunda ayrıntılı bir adım adım kılavuz vardır.

3

ben Firebase Google Group aşağıdaki cevabı var:

Yeah, after discussing with another Firebase engineer, I'm pretty sure Firebase Authentication does not actually support Account Kit. Sorry. We have no plans to support it in the works, but will revisit if we get enough people asking for it.