Autenticazione e accesso ai dati a confronto

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.

Autenticazione

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.

Scadenza dell'autenticazione

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.

Accesso ai dati

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.

Scadenza dell'accesso ai dati

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

Verifica della scadenza dell'accesso ai dati utente

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:'...'
  }
}

Scadenza dell'autorizzazione

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.