Domanda

Sto solo cercando di capire la filosofia dietro il login di Facebook.

    .
  1. Se ho effettuato l'accesso a Facebook, il mio sito web prende questo e ti collega automaticamente.
  2. Se sono loggato di Facebook, allora non sono autenticato su Facebook, il sito web funziona ancora
  3. Se accedo tramite il mio sito Web o Facebook sono autenticato e posso usare Facebook o il mio sito web come utente autenticato
  4. Se ho quindi logout di Facebook, la mia app è ancora autenticata ma non Facebook.
  5. Se esco dalla mia app e uccido tutte le sessioni e rimuovi manualmente i cookie che posso disconnettersi con successo.

    Il problema che ho dopo aver effettuato il disconnesso su entrambi è che $facebook->getUser(); e getAccessToken(); mantengono ancora il mio ID utilizzato e un token.Da dove vengono?

    Sto usando il PHP SDK

È stato utile?

Soluzione

Quando accedi alla tua applicazione utilizzando Facebook, la tua applicazione richiede Facebook per autenticarti. Quando l'autenticazione ha esito positivo, Facebook racconta la tua applicazione che sei autenticato. La tua applicazione mantiene quindi le proprie sessioni.

Cosa fai nel tuo account Facebook o nell'applicazione potrebbe non rispecchiare le modifiche tra loro. Ad esempio, quando disconnetti del tuo account Facebook, la tua applicazione non lo saprebbe perché per quanto riguarda la tua applicazione, sei stato autenticato. Allo stesso tempo, quando hai disconnesso da Facebook, Facebook non ha detto alla tua applicazione che sei già stato disconnesso.

Applicazioni e Facebook (o altri fornitori OAuth) mantengono le proprie sessioni separate.

Per le tue domande:

    .
  1. Sì, il tuo sito web reindirizza il visitatore a un collegamento in Facebook che indica automaticamente il tuo client che hai effettuato l'accesso. Non vedi più le istruzioni perché hai già concesso le autorizzazioni dell'applicazione durante il primo tentativo di accedere al tuo primo tentativo di accedere al primo tentativo di accesso Applicazione utilizzando il tuo account Facebook.

  2. funzionerebbe a causa delle sessioni separate. Quando hai effettuato l'accesso a Facebook, sei ancora connesso all'applicazione. Non a meno che l'applicazione a meno di verificare nuovamente la tua identità tramite Facebook - in tal caso, l'autenticazione fallirà.

  3. Questo è giusto ma non è possibile accedere alla tua applicazione senza accedere a Facebook, a meno che tu non abbia un altro modo di autenticarsi alla tua applicazione senza Facebook (come accessi alternativi con account collegati). Tuttavia, in tal caso, è comunque necessario connettere su Facebook utilizzando il loro modulo di accesso per essere registrato. Non è possibile accedere a Facebook tramite la tua applicazione.

  4. è corretto. Se disconnetti di Facebook, sei disconnesso di Facebook. A causa delle sessioni separate, è necessario disconnettere anche la tua applicazione.

  5. corretto anche.

    Che cosa probabilmente sta succedendo nel tuo caso è:

      .
    1. Hai effettuato l'accesso alla tua applicazione
    2. Sei stato reindirizzato alla tua home page
    3. La tua home page cerca di autenticarti perché non hai effettuato l'accesso
    4. Sei reindirizzato a Facebook
    5. Facebook conferma la tua identità e reindirizza all'applicazione
    6. applicazione ti autentica di nuovo

      Per risolvere questo, la tua home page non dovrebbe autenticare automaticamente. Ci dovrebbe essere un pulsante che gli utenti devono fare clic su qualcosa come "Login con Facebook" prima di avviare l'autenticazione con Facebook.

      Non puoi anche "Forzare logout" un utente fuori da Facebook. Quindi, dopo aver utilizzato la tua applicazione, il tuo utente deve disconnettersi dalla tua applicazione e Facebook. Se la tua applicazione utilizza i cookie di sessione, l'utente verrà disconnesso se il browser è chiuso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top