Per accedere alle informazioni permission-based dell’utente e autenticarlo tramite il social login, è fondamentale che le piattaforme social scelte riconoscano l’applicazione di terze parti che vuole autenticarsi. Solo così la piattaforma potrà rilasciare un access token e fornire i dati richiesti, nel caso in cui l’autenticazione sia avvenuta con successo.
In questa lezione, vedremo come registrare un’applicazione presso la sezione developer di Facebook, mentre le lezioni successive mostreranno la stessa procedura per Google e Twitter.
Unico prerequisito per la registrazione dell’applicazione su tutte le piattaforme social è possedere un account sviluppatore per ognuna di esse.
Registrazione su Facebook
Per registrare un’applicazione su Facebook, bisogna accedere alla sezione developer. Una volta autenticati con l’account sviluppatore, verrà visualizzata una pagina con l’elenco di tutte le applicazioni che sono state create con quell’account, come mostrato di seguito.
Cliccando su Aggiungi una nuova applicazione, si aprirà una finestra in cui inserire il nome da associare all’identificativo (ID) dell’applicazione, nonché l’indirizzo e-mail di contatto.
Inserite le informazioni richieste e completato il processo di creazione dell’ID, si verrà rimandati su una nuova pagina contenente le informazioni relative all’applicazione e i prodotti disponibili, come gli Analytics (per l’analisi statistica degli accessi degli utenti) e il Facebook Login (per il social login).
Passando il cursore sulla voce Facebook Login, comparirà il bottone Configura, che aprirà la seguente schermata, da cui scegliere la piattaforma (iOS, Android, Web o Altro) su cui attivare il social login.
Nella sezione Altro, viene indicato come accedere ad altre piattaforme come Smart TV, dispositivi basati sul sistema operativo Windows e giochi per Facebook.
Selezionando una delle piattaforme mobile, si può scaricare manualmente l’SDK di Facebook da integrare nel progetto dell’applicazione. Per Android non è necessario scaricare l’SDK, poiché lo si può ottenere ed integrare attraverso il repository centrale Maven, come sarà illustrato nella prossima lezione. Analogamente, per iOS si potrà usare cocoapods. Attraverso l’SDK di Facebook, le azioni compiute dagli utenti nell’applicazione vengono registrate e raccolte automaticamente per il prodotto Facebook Analytics.
Per completare la registrazione dell’applicazione Android su Facebook, devono essere fornite le seguenti informazioni:
Requisito | Spiegazione | Dato da inserire |
---|---|---|
Nome del pacchetto | Identifica l’applicazione univocamente su Google Play | <COMPANY-DOMAIN>.sociallogin |
Nome predefinito della classe di attività | Il nome nell’activity che gestisce i deep link tra l’applicazione da sviluppare e quella di Facebook | <COMPANY-DOMAIN>.sociallogin.LoginActivity |
Al momento del salvataggio di questi dati, se l’applicazione non è stata ancora rilasciata su Google Play verrà visualizzato il seguente messaggio che può momentaneamente essere ignorato.
Successivamente, deve essere generata la chiave hash per garantire l’autenticità delle interazioni tra l’applicativo e Facebook. La chiave hash è composta da 28 caratteri alfanumerici ed è univoca per l’ambiente di sviluppo e per la release. Queste chiavi sono utilizzate per firmare digitalmente l’applicazione e possono essere di due tipi:
Sviluppo | Impiegata esclusivamente durante lo sviluppo e il test dell’applicazione. Nel caso di più sviluppatori devono essere create più chiavi di sviluppo, una per ogni sviluppatore. |
---|---|
Release | Utilizzata per il rilascio dell’applicazione su Google Play. |
Per generare la chiave hash di sviluppo va eseguito da terminale il seguente comando:
OS | Commando |
---|---|
Mac | keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64 |
Windows | keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64 |
Dove %HOMEPATH%
è il percorso alla cartella contenente il debug.keystore
.
In particolare, per Windows deve essere scaricato openSSL da Google Code prima di eseguire il comando, altrimenti verrà riportato un errore sul terminale. Scaricata la distribuzione adatta al sistema in uso, va creata su C:/ la cartella OpenSSL, in cui scompattare l’archivio scaricato. Fatto ciò, è necessario collocarsi con il terminale nella cartella contenente l’eseguibile keytool.exe, che generalmente si trova in C:\Program Files\Java\jre[VERSIONE]\bin per la distribuzione di Java per Windows x64.
La chiave così generata va riportata nell’apposito box presente al punto 4 del processo di registrazione dell’applicazione. Infine, si deve abilitare l’accesso singolo per l’applicazione cliccando sull’omonimo bottone presente al passo 5.
Completato anche questo passo, è possibile proseguire con la modifica del progetto Android per completare l’integrazione della SDK di Facebook e del social login.
Per la registrazione dell’applicazione iOS, è necessario fornire le informazioni relative al bundle, analogamente a quanto fatto per Android.
Come fatto in precedenza, abilitare anche qui l’accesso singolo. A questo punto, è possibile proseguire con la modifica del progetto iOS su Xcode per integrare il social login.