Tecniche comuni per integrare l'accesso ai social media a un sito Web che richiede la registrazione dell'account

3

Ho sviluppato siti Web in cui gli utenti si registrano con un nome utente di loro scelta e una voce verrà creata in una tabella di database che contiene il proprio nome utente e una sorta di password salata. Utilizzerebbero quindi questo account per interagire con i servizi forniti dal sito.

Ora sono interessato a fornire la possibilità di registrare un account utilizzando Facebook, Twitter e praticamente qualsiasi altra cosa che potrebbe essere popolare. Tuttavia, non so come integrare il flusso di lavoro di accesso nel mio sistema.

Ho letto i documenti per Facebook Login ma non sono ancora sicuro di come Lo integrerei con il mio design dell'account utente.

Ecco come funziona il mio flusso di lavoro di registrazione

  1. Scegli nome utente / password
  2. Crea una voce nella tabella "utenti"
  3. Autentica controllando il nome utente e verifica se la password corrisponde a

Con l'accesso a Facebook, farebbero semplicemente clic su un pulsante che dice "login con facebook" e si autenticheranno con le loro credenziali di Facebook. Tuttavia, non so dove andrei a creare un utente da associare alla propria identità di Facebook.

Quindi la mia domanda è ...

Che cosa è un modo comune di utilizzare Facebook (o altri social media come Twitter o linkedin) per registrare un account nel sistema? Mi piacerebbe gestire tutti gli utenti in modo uniforme, quindi non importa come scelgono di registrare un account, sarebbero tutti gestiti in una singola tabella users in cui potrei fare query e associazioni senza dovermi preoccupare di come è stato creato l'account o come hanno effettuato l'accesso.

    
posta That Umbrella Guy 04.09.2014 - 21:29
fonte

2 risposte

2

Utilizzando l'API di Facebook lato server un tipico flusso di lavoro può essere:

  1. Fai clic su "accedi con Facebook"
  2. Viene visualizzata una finestra a comparsa con il login di Facebook
  3. L'utente inserisce il nome utente e la password di Facebook e fa clic su Invia
  4. Ricevi una richiamata da Facebook con un token.
  5. Con questo token vai al servizio di autenticazione di Facebook ( link con i tuoi parametri concreti), ricevi e accedi a token.
  6. con questo access_token puoi ottenere le informazioni dell'utente, l'ID utente in Facebook, il nome utente, l'email, la foto, ecc. ecc.
  7. Con queste informazioni puoi verificare se questo utente esiste già nel tuo sistema o crearne uno nuovo se è il primo momento.

Questo è il tipico flusso di lavoro di Oauth2, molto confuso la prima volta che lo usi. La cosa buona è che altri social network come LinkedIn, Twitter o Google+ utilizzano un approccio molto simile basato su Oauth (con alcune differenze, ad esempio, nel modo in cui esprimi le autorizzazioni concrete che desideri e altri dettagli).

Un'altra opzione è usare Facebook js api per effettuare il login, questa opzione è spiegata nei documenti di Facebook: link (l'opzione con FB.login() è secondo me più semplice e pulita). Il problema con questo approccio è che non è molto standardizzato e ogni fornitore può avere approcci molto diversi. (e se usi molti provider di login devi caricare un sacco di librerie js solo per il login).

    
risposta data 05.09.2014 - 03:09
fonte
-1

Se usi python per il tuo server, controlla Autenticazione social Python

In questo modo non avrai bisogno di entrare nella complessità di OAuth. L'ho integrato nel mio sito Web, che utilizza il framework Django , senza la necessità di scrivere anche una singola riga di codice aggiuntivo per l'accesso social.

    
risposta data 27.12.2014 - 05:15
fonte

Leggi altre domande sui tag