Uso di Facebook Login nei sistemi di accesso esistenti

Quando crei le tue app, puoi prevedere sia un meccanismo di accesso personalizzato sia Facebook Login. Questa guida illustra alcuni di questi scenari e ti offre suggerimenti su come gestire l'esperienza degli utenti di tali app.

Panoramica

Puoi implementare un sistema di accesso personalizzato in cui, usando e-mail e password, gli utenti possono iscriversi all'app creando un account. Generalmente, le app usano un sistema di verifica dell'e-mail per autenticare l'identità.

In alternativa, puoi usare Facebook Login per il tuo sistema di accesso. In questo caso, l'utente si iscrive all'app tramite Facebook Login creando un account ed è Facebook a occuparsi dell'autenticazione.

Oppure, potresti gestire situazioni più complesse:

  • L'utente si iscrive all'app usando e-mail e password, ma in seguito decide di usare Facebook Login per ottenere i dati dell'account Facebook per pubblicare post sul diario o effettuare l'accesso.
  • L'utente si iscrive all'app usando e-mail e password, ma in seguito decide di effettuare l'accesso con Facebook separatamente. In questa guida, si presuppone che l'indirizzo e-mail usato per iscriversi e quello principale associato all'account Facebook siano gli stessi.
  • L'utente si iscrive all'app tramite Facebook Login, ma poi decide di accedere all'account usando e-mail e password.

Questa guida spiega quali sono le strategie migliori per gestire queste situazioni.

Associazione di Facebook Login a un account a cui è stato già effettuato l'accesso

Questa sezione presenta il caso in cui l'utente usa il sistema di accesso personalizzato dell'app per creare un account. In un secondo momento, dopo aver effettuato l'accesso, decide di associarlo all'account Facebook. Ad esempio, è possibile iscriversi a Spotify con un indirizzo e-mail e una password e associare l'account all'account Facebook attraverso Facebook Login, ad esempio per pubblicare l'attività di ascolto sul diario.

1. Aggiungi un flusso Facebook Login all'app

Per completare questo passaggio, consulta le nostre guide su come usare un flusso Facebook Login nella tua app. Nell'esempio relativo a Spotify, il flusso Facebook Login si avvia quando l'utente indica che intende pubblicare la propria attività di ascolto oppure offrendo un'opzione esplicita per collegare l'account a quello Facebook.

2. Gestisci l'unione delle informazioni relative agli account

Quando l'utente accede all'app tramite un sistema di accesso personalizzato e in seguito completa il flusso Facebook Login, l'app deve unire due elementi importanti:

  • L'account creato al suo interno.
  • Le informazioni che identificano l'account Facebook dell'utente.

Nella maggior parte delle app, l'account originale viene memorizzato in una tabella nel database, pertanto l'approccio più semplice è associare le informazioni dell'account Facebook a quello presente nel database.

Generalmente, è preferibile creare una nuova tabella per memorizzare le informazioni dell'account Facebook dell'utente. Il vantaggio di avere una tabella separata, anziché aggiungere colonne a quella già esistente, è che la tabella separata permette di supportare rapidamente altri accessi OAuth all'account.

In futuro, se lo stesso utente deciderà di effettuare l'accesso alla tua app, potrai sfruttare le informazioni memorizzate nel database usando qualunque metodo senza problemi.

Unione di account creati separatamente con Facebook Login

In questo caso, l'utente ha effettuato l'accesso all'app con le proprie credenziali, ad esempio e-mail e password. In un secondo momento, dopo essersi disconnesso, decide di effettuare di nuovo l'accesso all'app tramite Facebook Login. L'app avrà due account per uno stesso utente, uno creato tramite il suo sistema di accesso, l'altro tramite il flusso Facebook Login. Per offrire la migliore esperienza utente possibile, dovrà unirli in uno unico.

In questa guida, si presuppone che gli account creati dall'app abbiano un indirizzo e-mail associato. Tuttavia, è possibile che sia diverso rispetto a quello associato all'account Facebook. In questo caso, offri agli utenti l'opzione esplicita di "unione degli account", permettendo di specificare manualmente quelli che desiderano unire.
Offri la possibilità di specificare manualmente gli account da associare, anche nel caso in cui gli account personalizzati dell'app non memorizzino un indirizzo e-mail.

1. Modifica il flusso Facebook Login per richiedere le autorizzazioni per l'e-mail

Se il sistema di accesso personalizzato della tua app usa un indirizzo e-mail per identificare gli account, devi richiederlo agli utenti (tramite l'autorizzazione email) durante il flusso Facebook Login. Per scoprire come eseguire questa operazione, consulta la guida sulla richiesta di autorizzazioni.

2. Unisci l'account Facebook Login e l'account dell'app

Una volta che l'utente ha effettuato l'accesso con Facebook, riceverai l'indirizzo e-mail, l'ID Facebook e il token d'accesso. L'app deve verificare se esistono account creati usando quello stesso indirizzo e-mail. Se così fosse, uniscili aggiungendo le informazioni di Facebook all'account già esistente come consigliato sopra.

Permetti all'utente di accedere come di consueto.

Se il tuo database non contiene l'indirizzo e-mail, si tratta di un nuovo utente.

Aggiunta di informazioni di accesso manuali a un account Facebook Login

Questa situazione si verifica quando un utente crea un account all'interno dell'app tramite Facebook Login, ma poi decide di accedere con credenziali uniche. Ad esempio, Netflix ha un'app Web che usa Facebook Login e un normale sistema di accesso e un'app Xbox 360 in cui è possibile accedere solo tramite il sistema normale.

1. Assicurati che l'indirizzo e-mail di Facebook Login sia verificato

Se usi un indirizzo e-mail come credenziale per identificare gli account, verifica che l'indirizzo associato all'account Facebook degli utenti (ottenuto durante il flusso Facebook Login) sia valido. Per farlo, crea un codice che invii un'e-mail di verifica a questo indirizzo (è probabile che tu ne abbia bisogno anche nel sistema di accesso normale).

2. Chiedi all'utente di inserire una nuova password (e altre credenziali)

Una volta verificato l'indirizzo e-mail, puoi chiedere all'utente di inserire una password, spiegando che dovrà usarla per accedere all'app insieme all'indirizzo e-mail. Successivamente, aggiungila al database in cui hai memorizzato le informazioni relative all'account.

Se invece il sistema di accesso della tua app non usa un indirizzo e-mail per l'identificazione, ma un elemento generato dall'utente (ad es. nome utente), richiedilo insieme alla password.

È probabile che gli utenti si aspettino di poter rimuovere l'associazione tra l'account Facebook e quello usato per l'accesso; puoi farlo rimuovendo le informazioni di Facebook associate a un determinato utente dalla tabella memorizzata nel database.