23

Ho un'implementazione di accesso a Facebook (per un sito Web, utilizzando l'API javascript) per la quale desidero che sia richiesta l'autorizzazione "email". Quando l'utente accede per la prima volta, può negare questa autorizzazione - che è abbastanza facile da rilevare da un successivo sguardo all'endpoint/me/permessi. Se trovo che l'hanno negato, non continuo con il login. Fin qui tutto bene.Lato negativo per usare sempre auth_type = "rerequest" nel pulsante di accesso di Facebook (per le autorizzazioni richieste)?

Poi, durante gli accessi successivi, per assicurarsi che essi ottenere ri-chiesto per quel permesso, includo auth_type = "rerequest" nei miei tasti d'accesso (che possono essere resi tramite sia XFBML o un collegamento con onclick = FB. accesso(...)).

Mentre questo sembra funzionare, la mia domanda è: se voglio sempre il permesso di essere richiesto, c'è qualche svantaggio per sempre contenere auth_type = "rerequest" nei miei tasti d'accesso? Non vedo nulla di contrario nello documentation e lo viene visualizzato per non avere alcun effetto negativo sui nuovi utenti o sugli utenti che non hanno negato l'autorizzazione (ovvero modifica solo il flusso di accesso - ripetendo la richiesta se l'utente ha già rifiutato qualcosa. Qual è il comportamento che voglio).

Le buone pratiche sembrano dettare che dovrei includere questo solo quando so che c'è qualcosa che desidero ripetere, ma per il piacere di questa domanda, vorrei sapere se ci sono delle insidie ​​per sempre includendolo

risposta

4

Non esiste un vero e proprio inconveniente, ma il modo consigliato NON è forzare gli utenti a utilizzare le autorizzazioni che hanno deselezionato. Invece, mostra loro un campo di input se non autorizzano il permesso email, dove possono inserire qualsiasi e-mail che vogliono. Tieni presente che il campo email non è sempre compilato, anche se l'utente ha accettato l'autorizzazione.

0

Si sta utilizzando il pulsante di accesso di Facebook? Funziona per me chiedere di nuovo il permesso rifiutato.

Semplicemente aggiungendo auth_type = "rerequest" nel pulsante.

<fb:login-button scope="email,user_birthday,public_profile" auth_type="rerequest" onlogin="checkLoginState();"></fb:login-button> 

Spero che possa aiutarti.