2016-04-13 24 views
5

Facebook ha appena introdotto a F8 2016.Firebase: Posso utilizzare il nuovo kit account di Facebook per autenticare gli utenti delle app?

Consente agli utenti di app di accedere utilizzando il proprio numero di telefono o indirizzo e-mail.

Ho già provato a utilizzare il token di accesso restituito per l'autenticazione con il normale accesso a Facebook per Firebase, ma non ha funzionato.

Esiste già un modo per autenticare gli utenti di app con Firebase utilizzando il kit account di Facebook?

Altre Informazioni

posso login tramite Kit account e ricevere un token di accesso con AccountKit.getCurrentAccessToken();

Allora provo per l'autenticazione con Firebase usando il token di accesso:

Opzione 1)

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

-> FirebaseError: credenziali di autenticazione non valide fornite.

Opzione 2)

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

-> FirebaseError: Accesso non riuscito - Impossibile analizzare auth token.

(Btw. La stringa di token di accesso è la metà della lunghezza del token che viene generato se faccio il login utilizzando il pulsante regolare Facebook Login.)

mi chiedo se già posso usare il token generato dal kit account autenticarsi con Firebase?

-

(. Btw Ho anche cercato di ottenere una risposta qui: https://groups.google.com/forum/#!topic/firebase-talk/qrb1gWBKO3M)

+0

Sì, è possibile utilizzare AccountKit. È possibile consultare questo link https://developers.facebook.com/apps/YOUR_APP_ID_HERE/account-kit/ –

+0

è necessario aggiungere ulteriori dettagli. Come parti di codice e log degli errori. Quindi la comunità può capire dov'è il problema. –

+0

Secondo i documenti, devi scambiare quel login per un token di autorizzazione dal tuo server.OPPURE, puoi premere alcuni parametri nella configurazione dell'app per ottenere il token di accesso che dovrebbe funzionare. Questa pagina è utile: https://developers.facebook.com/docs/accountkit/accesstokens – Christopher

risposta

5

Sì, è possibile utilizzando Firebase Custom Authentication .

È necessario configurare un server di autenticazione che può creare token personalizzati Firebase, utilizzando l'ID utente accountkit o il numero di telefono come uid.

Una volta ricevuto il token personalizzato dal server di autenticazione, è quindi utilizzarlo per accedere a Firebase come questo:

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(); 
       } 
      } 
     }); 

Questo blog post ha una dettagliata guida passo-passo su come implementarlo.

3

ho ricevuto la seguente risposta nella Firebase Google Group:

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.

Problemi correlati