Facebook Login offre due vantaggi principali: autenticazione e accesso ai dati, che non sono reciprocamente esclusivi. Puoi utilizzare Facebook Login per autenticare le persone senza pianificare l'accesso ai loro dati. In tal caso, non è necessario chiedere autorizzazioni o sottoporre la tua app al processo di Analisi dell'app.
L'autenticazione e l'accesso ai dati durano per un periodo limitato. Tuttavia, i periodi di scadenza per l'autenticazione e l'accesso ai dati sono diversi e dipendono da fattori differenti.
L'autenticazione consente alle persone di accedere alla tua app mobile o web e creare un account utilizzando le loro credenziali di Facebook. Non è necessario creare o ricordare una password separata.
Quando la tua app utilizza Facebook Login per autenticare un utente, riceve un token d'accesso utente. Se la tua app utilizza uno degli SDK di Facebook, questo token dura circa 60 giorni. Tuttavia, gli SDK aggiornano automaticamente il token ogni volta che la persona usa la tua app, quindi i token scadono 60 giorni dopo l'ultimo utilizzo. Se la tua app non usa gli SDK di Facebook, devi includere il codice che aggiorna manualmente il token utente. Se il token d'accesso utente scade, la tua app deve sottoporre nuovamente l'utente al flusso di accesso.
Facebook Login ti consente anche di chiedere autorizzazioni quando gli utenti accedono alla tua app. Queste autorizzazioni, se concesse dall'utente, consentono alla tua app di accedere agli elementi dei dati utente. Ad esempio, la tua app può accedere al nome e alla foto del profilo di un utente.
Se un'app richiede autorizzazioni, spesso è necessario sottoporla al processo di Analisi dell'app in modo che Facebook possa assicurarsi che i dati non vengano utilizzati in modo improprio. La tua app può richiedere il nome e la foto degli utenti (campi del profilo predefiniti) e l'e-mail senza passare attraverso l'Analisi dell'app, ma tutte le altre autorizzazioni devono essere sottoposte a una procedura di controllo. Per le liste delle autorizzazioni e per sapere quali richiedono l'Analisi dell'app, consulta Riferimento alle autorizzazioni.
Il periodo di scadenza per l'accesso ai dati è di 90 giorni, in base a quando l'utente è stato attivo l'ultima volta. Allo scadere di questo periodo di 90 giorni, l'utente può ancora accedere alla tua app, ovvero è ancora autenticato, ma la tua app non può accedere ai suoi dati. Per riottenere l'accesso ai dati, l'app deve chiedere all'utente di autorizzare nuovamente le autorizzazioni dell'app.
Per richiedere una nuova autorizzazione con l'SDK di Facebook per Android o l'SDK di Facebook per iOS, effettua una chiamata a reauthorizeDataAccess()
su LoginManager
.
Con l'SDK di Facebook per JavaScript, usa auth_type: 'reauthorize'
.
FB.login(function(response) { // Original FB.login code }, { auth_type: 'reauthorize' })
Per il web, effettua la chiamata con auth_type=reauthorize
.
Le seguenti autorizzazioni non scadono:
ads_read
ads_management
business_management
configure_page_transactions
pages_manage_ads
pages_manage_cta
pages_manage_instant_articles
pages_manage_engagement
pages_manage_metadata
pages_manage_posts
pages_messaging
pages_read_engagement
pages_read_user_content
pages_show_list
read_audience_network_insights
read_insights
Con gli SDK Android e iOS, puoi verificare quando scadrà l'accesso della tua app ai dati utente effettuando una chiamata a dataAccessExpirationTime
sull'oggetto access token. Questo metodo restituisce una data che specifica quando scadrà l'accesso ai dati.
Puoi anche verificare se l'accesso ai dati utente è scaduto effettuando una chiamata a isDataAccessExpired
, che restituisce un valore booleano.
Lato server, puoi recuperare queste informazioni dall'endpoint debug_token
.
Sul web, puoi vedere l'ora di scadenza in payload: data_access_expiration_time
.
{ status: 'connected', authResponse: { accessToken: '...', expiresIn:'...', reauthorize_required_in:'...', data_access_expiration_time: '...', signedRequest:'...', userID:'...' } }
Indipendentemente da quando l'utente è stato attivo l'ultima volta, le autorizzazioni scadono se la tua app non le utilizza per 90 giorni. Tale condizione vale anche per le autorizzazioni approvate tramite l'Analisi dell'app.