HTML.it logo
Learn
  • Design
    • Grafica
    • User Interface Design
    • Adobe Creative Suite
    Guide
    Approfondimenti
    Faq
    Notizie
    Tutto in Design >
  • Development
    • .NET
    • ASP
    • CMS
    • Flash
    • Java
    • JavaScript
    • PHP
    • Essentials
    • Ruby
    • XML
    • Editor
    • CSS
    • HTML
    Guide
    Approfondimenti
    Script
    Faq
    Notizie
    Tutto in Development >
  • Mobile
    • Android Studio
    • Cordova
    • Eclipse
    • Objective C
    • Swift
    Guide
    Approfondimenti
    Script
    Faq
    Notizie
    Tutto in Mobile >
  • Server
    • Cloud
    • Database
    • OS
    • Sicurezza
    • Network
    Tutto in Server >
  • Digital Marketing
    • SEO
    • Affiliate Marketing
    • Social Media Marketing
    Tutto in Digital Marketing >
  • Makers
    • Arduino
    • RaspberryPi
    • Stampa 3D
    Guide
    Approfondimenti
    Notizie
    Tutto in Makers >
  • Game Design
    • Unity
    Guide
    Approfondimenti
    Notizie
    Tutto in Game Design >
Download
  • Foto e Video
    • Gallerie e album
    • Condivisione
    • Scatto
    • Strumenti
    • Ritocco
    • Montaggio
    • Ripresa
    • Creatività
    • Riproduzione
    Tutorial
    Tutto in Foto e Video >
  • Educazione
    • Bambini
    • Cartoni in Streaming
    • Didattica
    • Istruzione
    • Giochi Didattici
    Tutorial
    Tutto in Educazione >
  • Videogame
    • Arcade
    • Avventura
    • Azione
    • Board
    • Carte
    • Giochi di ruolo
    • Giochi Online
    • Puzzle e Enigmistica
    • Simulazione
    • Sparatutto
    • Sport
    • Strategia e Giochi di Guerra
    • Tempo Libero
    Tutto in Videogame >
  • Grafica
    • Accessori & Mappe
    • Animazione
    • CAD – 3D
    • Cattura schermo
    • Convertitori e ridimensionatori
    • Editor
    • Flash
    • Font
    • Icone e loghi
    • Visualizzatori
    Tutorial
    Tutto in Grafica >
  • Internet
    • Browser
    • Chat e IM
    • eMail
    • Estensioni & Temi
    • FTP
    • Network
    • News e RSS
    • Peer to Peer
    • Webcam
    Tutorial
    Tutto in Internet >
  • Programmazione
    • Accessori
    • CMS e E-Commerce
    • Editor e Compilatori
    • Editor e strumenti Web
    • Linguaggi
    Tutorial
    Tutto in Programmazione >
  • Sicurezza
    • Antispam
    • Antispyware
    • Antivirus
    • Server
    • Ransomware
    Tutorial
    Tutto in Sicurezza >
  • Produttività
    • Backup
    • Compressione
    • Connettività
    • Database
    • Fax e Telefonia
    • Gestione disco
    • Ottimizzazione
    • Utilità di Sistema
    Tutorial
    Tutto in Produttività >
  • Auto
    • Accessori
    • Gare
    • Utility
    • Mappe
    Tutorial
    Tutto in Auto >
  • Casa
    • Home Security
    • IoT
    • Smart Home
    • Progettazione
    • Home Design
    Tutto in Casa >
  • Finanza Personale
    • Economia
    • Organizer
    • Spese e Bilancio
    • Tasse
    Tutorial
    Tutto in Finanza Personale >
  • Lavoro
    • Analisi
    • Documenti
    • Disegno
    • Collaborazione
    • Networking
    • Presentazione
    • Ufficio
    Tutorial
    Tutto in Lavoro >
  • Lifestyle
    • Medicina
    • Shopping
    • Mente in forma
    • Fitness
    • Cibo
    Tutto in Lifestyle >
  • Musica
    • Ascoltare
    • Fare
    • Imparare
    • Mixare
    • Codec audio
    • Speech
    Tutto in Musica >
  • Svago
    • Colorare
    • Eventi
    • Leggere
    • Sport
    • Sport
    Tutorial
    Tutto in Svago >
Notizie
Video
Forum
Jobs
in  
Trend
GuideHTMLJavaLinguaggio CPythonJavaScriptPHPC++CSSAndroidApprofondimenti
INDICE DELLA GUIDA
Introduzione
  1. lezione
    1 di 23

    Social login: autenticazione tramite social network

Registrazione dell’app sui social
  1. 2 Registrare l'app su Facebook

  2. 3 Registrare l'app su Google

  3. 4 Registrare l'app su Twitter

Social Login su Android
  1. 5 Creare un progetto Android Studio

  2. 6 Facebook Login su Android

  3. 7 Google Login su Android

  4. 8 Twitter Login su Android

Social Login su iOS
  1. 9 Creare un progetto iOS con Xcode

  2. 10 Facebook Login su iOS

  3. 11 Google Login su iOS

  4. 12 Twitter Login su iOS

Social Login con Firebase
  1. 13 Introduzione a Firebase

  2. 14 Creare un progetto su Firebase

Firebase Authentication con Android
  1. 15 Integrare la SDK di Firebase su Android

  2. 16 Facebook Login Mobile su Android con Firebase

  3. 17 Google Login su Android con Firebase

  4. 18 Twitter Login su Android con Firebase

Firebase Authentication con iOS
  1. 19 Integrare la SDK di Firebase su iOS

  2. 20 Facebook Login su iOS con Firebase

  3. 21 Google login su iOS con Firebase

  4. 22 Twitter Login per iOS con Firebase

Approfondimenti su Firebase
  1. 23 Analisi dell’app con la console di Firebase

  • Learn
  • Social Login su Mobile: la guida
  • Social login: autenticazione tramite social network
lezione
1 di 23

Social login: autenticazione tramite social network

  • di Antonio Tedeschi
  • 11 Ottobre 2017

È ormai uso comune usufruire di un servizio offerto da una piattaforma, attraverso la creazione di un account che permette non solo di autenticarci tramite le credenziali scelte (nome utente/email e password) ma anche di fornire informazioni personali come data di nascita, interessi e molto altro. Tale procedura è spesso lunga e tediosa e può scoraggiare l’utente finale dall’usufruire del servizio.

Negli ultimi anni, tuttavia, il processo di creazione di un nuovo account è stato semplificato e reso più rapido. In particolare, è ora possibile accedere a un servizio offerto da un’applicazione di terze parti attraverso il proprio account social, permettendo al gestore in questione di ottenere le informazioni basilari dell’utente, e all’utente stesso di accedere rapidamente al servizio. Questo approccio prende il nome di social login ed è una forma di single sign-on (SSO) che serve a effettuare l’autenticazione a una piattaforma di terze parti attraverso informazioni già esistenti, memorizzate da un servizio di social networking, come ad esempio Facebook, Google o Twitter. Attraverso questo approccio, i dettagli relativi all’utente vengono forniti dalla piattaforma social scelta per il login e, se utilizzati in modo corretto, migliorano l’esperienza dell’utente, che visualizzerà contenuti più affini alla sua personalità. Ovviamente, sono molteplici i servizi che offrono comunque la possibilità di registrarsi attraverso un sistema più tradizionale, permettendo a coloro che non dispongono di un account social di non essere esclusi.

Il social login può essere implementato come un sistema basato su un protocollo di autenticazione decentralizzato (ossia senza un server che mantenga le informazioni scambiate attraverso il protocollo), come OpenID, per limitare alla sola autenticazione lo scambio di dati con il social network. In alternativa, può essere impiegato Open Authorization (OAuth) che fornisce un protocollo di autorizzazione sicuro da utilizzare in combinazione con i sistemi di autenticazione forniti dalle piattaforme social.

Attraverso OAuth, la piattaforma che eroga il servizio ottiene dal social network di destinazione un access token, con il quale verrà identificata. Può inoltre richiedere l’accesso alle informazioni sulle autorizzazioni dell’utente, ossia le informazioni alle quali le aziende accedono perché l’utente ha acconsentito all’utilizzo di quei dati.

Figura 1. Informazioni permission-based erogate tramite il social login (fonte: gigya (click per ingrandire) Informazioni permission-based erogate tramite il social login

Sia OpenID che OAuth sono protocolli validi, decentralizzati e basati su standard aperti, che garantiscono la sicurezza, l’identificazione dell’utente tramite autenticazione e l’autorizzazione del processo. Ciononostante, la semplicità di implementazione di OAuth per gli sviluppatori e per le piattaforme social ha fatto sì che, negli ultimi anni, OAuth diventasse il protocollo principe alla base del social login.

I vantaggi derivanti dal social login sono molteplici, come ad esempio:

  • la personalizzazione dei contenuti sulla base della profilazione dell’utente;
  • la possibilità di accedere alla piattaforma con account social differenti;
  • la pre-validazione delle email degli utenti da parte delle piattaforme social;
  • la possibilità di collegare un account alla piattaforma senza costringere l’utente a registrarsi;
  • la rapidità del processo di registrazione.

In questa guida, ci si concentrerà su come integrare il social login nelle proprie applicazioni mobile sfruttando OAuth 2.0 e i principali social media: Facebook, Twitter, e Google.

Prerequisiti

Per affrontare al meglio questa guida, è necessario avere installato:

Tool Dettagli
Android Studio 2.3.3
Android API 15 o superiori e la SDK di Google Play Services
Xcode 8 o superiore
Account Developer Twitter, Facebook, Google

Il protocollo OAuth

Definito per la prima volta nel 2006 da Baline Cook, OAuth si è affermato nel corso degli anni come protocollo di autorizzazione sicuro che abilita le applicazioni di terze parti a ottenere un accesso limitato all’account social degli utenti attraverso un servizio HTTP. In particolare, il protocollo sfrutta la possibilità di affidare l’autenticazione al servizio che ospita l’account dell’utente, autorizzando le applicazioni ad accedere alle informazioni permission-based.

Il protocollo OAuth definisce i seguenti quattro ruoli:

Ruolo Dettagli
Resource Owner (User) È l’utente che autorizza un’applicazione ad accedere al proprio account. L’accesso è limitato al solo scopo di concedere l’autorizzazione e il recupero delle informazioni base.
Resource Server (RS) È il server che ospita gli account degli utenti (ad esempio quello di un social network) e autorizza il server delle applicazioni di terze parti.
Client (Application) È l’applicazione che vuole accedere all’account dell’utente previa autorizzazione di quest’ultimo e validazione dell’autorizzazione da parte del RS.
Authorization Server (AS) È il server che verifica l’identità dell’utente, rilascia l’access token per l’applicazione ed effettua il ruolo di intermediario tra il Client e il Resource Owner.

Queste entità interagiscono tra loro come nello schema riportato in Figura 2.

Figura 2. Esempio di funzionamento del protocollo OAuth (RFC6749 (click per ingrandire) Esempio di funzionamento del protocollo OAuth (RFC6749)

In particolare, l’applicazione richiede all’utente l’autorizzazione per accedere all’account e ai relativi dati. Una volta autorizzata, l’applicazione è in possesso di un permesso, chiamato Authorization Grant (AG), per richiedere l’access token all’AS.

L’applicazione comunica l’AG e la sua identità all’AS, che li verifica. Se la validazione va a buon fine, l’AS eroga un access token per l’applicazione, completando così il processo di autorizzazione.

L’applicazione può contattare l’RS per richiedere le risorse relative all’account dell’utente, inoltrando il proprio access token per l’autenticazione. Se l’access token è valido, l’RS fornirà all’applicazione le risorse richieste.

L’access token e l’authentication grant sono gli elementi fondamentali per la corretta esecuzione del protocollo. Nello specifico:

Authorization Grant È l’autorizzazione dell’utente a far accedere l’applicazione alle proprie risorse protette. Esistono quattro diversi tipi di AG che sono: authorization code, implicit, resource owner password credentials e client credentials. Per ulteriori dettagli in merito si rimanda al Requests for Comments (RFC) 6749.
Access Token Indica le credenziali necessarie per accedere alle risorse protette ed è una stringa che rappresenta l’autorizzazione del client. Questo token fornisce un livello di astrazione che permette di sostituire differenti approcci di autorizzazione con un singolo token, che può essere riconosciuto dal RS. Grazie a questa astrazione è possibile rilasciare dei token più restrittivi dell’AG. eliminando del tutto la necessità da parte dell’RS di supportare diverse tipologie di autenticazione.

Questo processo si basa sull’assunto che l’applicazione sia identificata sia dall’AS sia dall’RS. Infatti, prima di utilizzare il protocollo OAuth, è necessario che l’applicazione sia registrata presso il servizio di riferimento. Tale operazione deve essere effettuata accedendo alla sezione developer o API del servizio che si desidera usare (Facebook, Google, …) e fornendo informazioni quali nome dell’applicazione e del relativo pacchetto.

2 / 23

Registrare l’app su Facebook

Se vuoi aggiornamenti su mobile inserisci la tua email nel box qui sotto:

Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.

La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi:

Ultime notizie

iOS 13: prosegue il porting da Objective-C a Swift

Edge per Linux, Microsoft chiede consiglio agli utenti

Github lancia la CodeSearchNet Challenge

HTTP/3: Chrome, Firefox e CloudFlare iniziano la sperimentazione

Donne e IT: la gender diversity è necessaria

I Video di HTML.it

Come utilizzare ZoneAlarm Free Antivirus and Firewall

Percorsi formativi correlati
Android Mobile Developer

Android Mobile Developer

5
guide
250 ore

Tutti i linguaggi per diventare uno sviluppatore di app per Android.

DB Administrator

DB Administrator

4
guide
80 ore

Come creare applicazioni per il Web con PHP e MySQL per il DBMS.

iOS Mobile Developer

iOS Mobile Developer

4
guide
180 ore

Tutte le principali tecnologie per diventare uno sviluppatore mobile per iOS.

Java Developer

Java Developer

7
guide
300 ore

I fondamentali per lo sviluppo di applicazioni multi piattaforma con Java.

Java Security Expert

Java Security Expert

5
guide
120 ore

Diventare degli esperti in tema di sicurezza delle applicazioni Java.

Maker

Maker

2
guide
50 ore

Usare Raspberry Pi e Arduino per avvicinarsi al mondo dei Maker e dell’IoT.

NoSQL DB Expert

NoSQL DB Expert

5
guide
200 ore

Le principali guide di HTML.it per diventare un esperto dei database NoSQL.

PHP Cloud Developer

PHP Cloud Developer

7
guide
80 ore

Ecco come i professionisti creano applicazioni per il Cloud con PHP.

PHP Developer

PHP Developer

5
guide
100 ore

Lo sviluppo professionale di applicazioni in PHP alla portata di tutti.

PHP e JavaScript Developer

PHP e JavaScript Developer

6
guide
100 ore

Come sviluppare applicazioni Web dinamiche con PHP e JavaScript.

PHP eCommerce developer

PHP eCommerce developer

5
guide
120 ore

Fare gli e-commerce developer con Magento, Prestashop e WooCommerce.

PHP Framework Expert

PHP Framework Expert

6
guide
120 ore

Realizzare applicazioni per il Web utilizzando i framework PHP.

PHP SysAdmin

PHP SysAdmin

6
guide
80 ore

Creare applicazioni PHP e gestire l’ambiente di sviluppo come un pro.

Web & Mobile Designer

Web & Mobile Designer

5
guide
300 ore

Percorso base per avvicinarsi al web design con un occhio al mobile.

WordPress Developer

WordPress Developer

5
guide
150 ore

Realizzare siti Web e Web application con WordPress a livello professionale.

Ti consigliamo anche

Social Analytics: guida completa

  • 5 Lezioni
  • Facile

Social Media Analytics è una delle principali componenti del digital marketing, in quanto permette di analizzare i dati ottenuti mediante i social network, confrontandoli con le principali metriche al fine di valutare l’efficacia di una campagna di marketing. Questa guida parte dalle basi per arrivare ad offrire una panoramica completa dei principali strumenti per una esauriente l’analisi dei dati.

  • LinkedIn per il business: guida completa
  • Come utilizzare il motore di ricerca di LinkedIn per trovare possibili clienti

Social media marketing: cos’è, come si fa, perché è importante

Imparare le basi del social media marketing, comprendendo cos'è, perché è importante e quali strategie è consigliato adottare.

  • Instagram: anche in Italia scompaiono i like
  • Instagram e Facebook: addio a diete e chirurgia plastica

Facebook: addio al conteggio dei Like

Gen Z: per i giovanissimi Facebook è morto

Contenuti TV sui social: vince lo humor

  • Guide
  • Approfondimenti
  • Script
  • Q&A
  • Software
  • Tutorial
  • Videogiochi
  • Tag Software
  • News
  • Video
  • Forum
  • Chi siamo
  • Pubblicità
  • Contatti
  • Cookie policy
  • Privacy policy
  • Privacy Policy Newsletter
© HTML.it 1997-2019 | Triboo Media – P. IVA 06933670967 | HTML.it è un periodico telematico reg. Trib. Roma n. 309/2008 | 2.17.2