[MUSIC]
Ora che abbiamo capito su OAuth 2 e su come Facebook supporta OAuth 2,
passiamo a questo esercizio in cui configureremo la nostra
applicazione server espresso per utilizzare Facebook come provider OAuth 2 per il nostro server.
E allo stesso tempo per la nostra applicazione client.
In questo esercizio ci baseremo sul passaporto che
abbiamo già configurato nella nostra applicazione espressa.
Configureremo una nuova strategia per l'autenticazione con Facebook
utilizzando quel modulo del nodo token Facebook passaporto.
Per iniziare a questo esercizio,
vai a https//developers.facebook.com/apps.
Ora, questo è dove registrerai l'applicazione client, che è fondamentalmente
il tuo server, il server aggiuntivo, che funge da applicazione client per Facebook.
E poi registreremo un'applicazione client lì.
E poi ottieni un ID app e un segreto app da Facebook.
Ora ovviamente va da sé che è necessario avere un account Facebook
per essere in grado di configurarlo.
Se non hai un account Facebook e non vuoi fare questo esercizio,
allora non c'è nulla di male nel non fare questo esercizio.
Ma ovviamente per fare questo esercizio OAuth 2,
hai bisogno di un account Facebook per configurare il tuo provider OAuth su Facebook.
Così andando su questo sito,
developers.facebook.com/apps, si noterà che sarà necessario
effettuare il login per continuare se non si è connessi dal browser.
Ora puoi vedere che ho già configurato alcune app qui e
le ho testate.
Ora, per creare una nuova app, fare clic su Aggiungi nuova app.
E poi puoi fornire il nome per la tua app.
Quindi posso dire Confusion3, e poi possiamo fornire l'e-mail di contatto.
Quindi segui la procedura per creare la tua nuova app qui.
E una volta creata l'app, noterai immediatamente che
c'è un ID app che è stato creato per la tua app.
E poi per questa particolare applicazione.
Quindi, se stai andando al cruscotto, vedrai
due pezzi di informazioni che davvero ti servono per procedere ulteriormente.
Uno è l'ID app, quindi assicurati di creare una copia dell'ID app.
E il secondo è il segreto dell'app.
Quindi, puoi digitare il pulsante Mostra qui e poi otterrai il segreto dell'app.
Segreto qui così come puoi vedere questi due non sono altro che stringhe ASCII.
Quindi fare una copia di questo perché è necessario configurare il server esperto e
anche l'applicazione client con queste due informazioni.
E una volta che l'avrai avuta,
potremo procedere con il resto dell'esercizio.
Dovrai accedere al dashboard della tua applicazione.
E nelle impostazioni, come puoi vedere, nelle impostazioni di base qui
aggiungi solo una piattaforma del sito web qui.
E quindi fornire l'URL come https//localhost3443.
E salva le modifiche qui alla tua applicazione qui.
Dopo aver aggiunto nel sito web qui vai alle impostazioni avanzate.
E poi fare clic su Sì per dire
app nativa o desktop qui e dire sì a quello e quindi salvare le modifiche.
E nell'impostazione di base nei domini dell'app, digita
https://localhost:3443 e salva le modifiche.
Quindi, vai alle istruzioni per l'esercizio per questo esercizio.
E vedresti che c'è un file index.html che
ho fornito nelle risorse di esercizio.
Scaricare questo file index.html e quindi spostarlo nella cartella pubblica.
Quindi cerchiamo di scaricare questo file index.html.
Successivamente, andando alla cartella ConfusionServer nella cartella pubblica,
vedi che ho già un file index.html.
Ho intenzione di sostituire questo con il file index.html scaricato
che ho appena ottenuto.
Ho salvato questo sul mio desktop.
Quindi ho intenzione di tirare questo index.html e
quindi sostituire il file index.html nella cartella pubblica del mio ConfusionServer.
Quindi, andando all'editor, apriamo il file index.html.
E se lo apri vedrai che ho già configurato
del codice JavaScript qui.
Questo codice JavaScript che ho ottenuto da Facebook in cui
specificano come è possibile configurare un'applicazione Dev usando questo.
Quindi, l'ho copiato dalle istruzioni di Facebook.
In particolare noterai che in questo file index.html,
c'è questo campo AppID qui.
Stai per sostituire questo campo AppID con l'
ID client che hai ottenuto registrando la tua app su Facebook.
Quindi, qui, sto sostituendo l'ID di questo client
con l'ID della mia app che ho registrato su Facebook qui.
E devi fare lo stesso passo con l'app
che ti registri su Facebook, con l'ID app che ottieni da Facebook.
E quindi salvare le modifiche a index.html.
Questa pagina index.html che ho qui creerà
un pulsante di accesso sulla pagina index.html, che quando cliccato
ci aiuterà ad accedere a Facebook e quindi ottenere un token di accesso da Facebook.
Successivamente, andando alla cartella ConfusionServer,
installeremo il modulo del nodo token Facebook passaporto.
Quindi al prompt digitare npm installa
Passport-Facebook-token e
installa questo modulo nodo.
E come puoi vedere sto usando la versione 3.3.0 in questo corso.
Tornando all'editor, apri config.js.
E in config.js aggiungerò
una proprietà chiamata 'facebook' nel mio file config.js.
E qui dentro,
configurerò il mio ClientID e
il ClientSecret.
Ora, il ClientID sarà esattamente ciò che si ottiene da Facebook.
Qui, e il segreto del cliente come hai visto quando hai registrato la tua domanda.
Ottieni una seconda stringa lì, quindi copia quella stringa e
poi incollala nel ClientSecret qui.
Ora assicurati che questo sia incollato come una stringa qui.
Allo stesso modo, incollando ClientSecret nel mio file config.js.
Quindi, configurarlo qui mi aiuterà a usare questi due dove ho bisogno nel mio codice.
Successivamente, come ci siamo resi conto, ogni volta che l'utente
accede e quindi ottiene il token di accesso e lo trasmette al nostro server express.
Il server express sta per utilizzare quel token di accesso e andare a
recuperare le informazioni sul file dal server Facebook 0 dovrebbe.
E poi, una volta raggiunte le informazioni del profilo, allora il nostro server express
creerà un nuovo account utente nella nostra applicazione.
E usa l'ID di Facebook come indice in questo account di utilizzo.
Quindi, per soddisfare questo,
andremo nel file user.js in cui abbiamo definito il nostro modello.
Quindi, oltre al nome e al cognome,
aggiungerò anche un campo qui chiamato FaceBookID,
che è del tipo String qui.
FaceBookID memorizzerà il facebookID
dell'utente che ha passato il token di accesso.
Nel prossimo passo ti mostrerò come configurarlo.
Quindi configuriamo la nostra strategia di Facebook utilizzando il token Facebook passaporto..
Quando un utente passa il token di accesso,
allora stai andando a recuperare il profilo e quindi impostare un account per
quell'utente nel nostro server locale qui, nel nostro server espresso qui.
Inizializzeremo il nome e il cognome e il FacebookID.
Ma ovviamente questo particolare account non avrà una password o
piuttosto l'hash installato associato a questo.
Perché, se un utente effettua il login utilizzando questo account, allora dovrà utilizzare la loro
parte di accesso di Facebook per accedere alla nostra applicazione.
Successivamente andremo ad autenticare il file dark.js.
Quindi questo dove abbiamo impostato tutte le nostre diverse
strategie di autenticazione del passaporto.
Quindi qui oltre alla strategia jwt e
alla strategia locale che ho configurato qui,
fammi creare un FaceBookTokenStrategy qui.
E quindi impostare il token di richiedere-password-facebook-.
E questo ci darà una nuova strategia che possiamo
configurare nel nostro modulo passaporto qui.
Quindi, andando giù nel codice qui, proprio lì,
alla fine di questo file, creerò,
FacebookPassport come
passsport.use ().
E così questo è dove specificherei qui il nuovo FaceBookTokenStrategy.
E poi specificheremo i dettagli di questo
FacebookTokenStrategy, proprio a questo punto qui.
Quindi, in questo FacebookTokenStrategy, come affrontiamo questo problema?
Lasciami avvolgere la parola a capo in modo da poter vedere il codice completo.
Quindi, per il FacebookTokenStrategy, inizieremo dicendo prima.
La prima parte di FacebookTokenStrategy prende il ClientID.
Che abbiamo config a config.facebook.clientID qui,
e client, Segreto,
che anche noi abbiamo configurato in, Il nostro file di configurazione qui.
Quindi stiamo andando a fornire questo come il primo parametro di questa strategia qui.
E poi il secondo parametro, è dove sfidando
la funzione di callback che entra in questo punto.
Quindi la funzione di callback qui ottiene tre valori.
Quindi ottiene AccesToken,
RefreshToken, profilo e
callback chiamato come fatto qui.
Quindi questi sono i quattro parametri che entrano nella funzione di callback che
configureremo a questo punto.
Quindi fammi rientrare quel codice in modo che sia un po 'più chiaro da vedere.
E all'interno di questa funzione di callback che
configuro qui, dirò prima user.findone.
Quindi cercheremo di vedere se questo particolare utente di Facebook
ha effettuato l'accesso in precedenza in modo che l'account
sarebbe già stato configurato, Con il FaceBookID.
Ora dove otteniamo il FaceBookID?
Si noti che stiamo ottenendo quel profilo per l'utente,
arrivando qui, in modo da poter vedere che questo profilo sta arrivando come parametro.
Questo profilo porterà un sacco di informazioni provenienti da Facebook che
possiamo utilizzare all'interno della nostra applicazione.
L' AccesStoken, ovviamente, viene fornito al server dall'utente.
Quindi, una volta che cerchiamo di trovare almeno un utente con un ID profilo Facebook.
Quindi, se questo utente esiste allora abbiamo già scoperto che l'utente ha precedentemente
effettuato l'accesso al nostro account utilizzando l'approccio Facebook.
Quindi, in questo caso possiamo procedere in avanti altrimenti creeremo un nuovo utente.
Quindi, la funzione di callback qui avrà due parametri,
l'err e l'utente qui.
E questa funzione di callback come vedremo,
ben dentro qui controlleremo per vedere se (err).
Quindi, se questo causa un errore, allora ovviamente
quello che dobbiamo fare è restituire fatto (err, false).
Quindi questo fatto come puoi vedere è la funzione di callback che sta entrando come
parametro di questa funzione qui, quindi
chiameremo il fatto con err e false.
Se non è un errore, allora
diremo se (! Err
&& utente! == null).
Quindi, se l'utente non è nullo, quindi ciò significa che abbiamo trovato un utente nel sistema
che non è stato prima con quel particolare FaceBookID, Quindi per l'utente,
tutto ciò che dobbiamo fare è restituire fatto (null,) poiché non
c'è nessun errore qui, e poi restituiremo il valore utente per questo quaggiù.
Quindi, il che significa che se l'utente ha già effettuato
l'accesso in precedenza utilizzando l'approccio Facebook, l'utente sarebbe già stato creato.
E così, quell'utente verrà trovato e poi passeremo indietro quell'utente.
In caso contrario, vedere se non parte è la parte più interessante di questo esercizio.
Se l'utente non esiste, allora abbiamo bisogno di creare un nuovo utente.
Ora per creare il nuovo utente, diremo utente,
= nuovo utente, e quando creiamo un nuovo utente,
ricordare che abbiamo bisogno di passare il nome utente.
Il nome utente verrebbe ottenuto dal profilo e il profilo Facebook
restituito avrà un campo chiamato come DisplayName.
E così questo è il campo che userò per creare un nuovo utente qui.
Quindi creeremo un nuovo utente con il nome utente impostato
uguale al DisplayName, e dopo che l'utente è stato creato,
allora diremo user.facebookID, = profile.id.
Quindi stiamo andando a salvare l'ID Facebook dell'utente.
Quindi ritorna in questo oggetto profilo qui,
quindi metti l'ID Facebook dell'utente all'ID del profilo. In
modo che successivamente, se lo stesso utente accede,
questa ricerca sarà in grado di trovare questo utente nel nostro database.
E poi
diremo user.firstname
= Profile.name.givenName
Quindi il profilo ha questo oggetto nome su di esso,
che ha un nome dato e un nome di famiglia associato a questo.
Questo viene restituito dal profilo Facebook dell'utente.
E anche l'user.lastname
lo imposteremo su Profile.Name.FamilyName.
E poi, una volta che abbiamo impostato tutti questi diremo user.save.
Quindi stiamo salvando le modifiche all'utente e
quindi questo restituirà err e l'utente.
Quindi, restituirà un errore se l'utente non può essere creato,
altrimenti restituirà l'utente creato qui.
Quindi in questo caso diremo, se (err),
allora restituirà fatto (err,
false) perché non siamo riusciti a creare l'utente.
altrimenti, l'utente è stato creato con successo,
quindi restituiremo fatto (null, utente).
Quindi, indipendentemente dal caso,
se l'utente esiste, troverai quell'utente e restituirai il valore.
Se l'utente non esiste, stai per creare un nuovo utente basato sul
profilo Facebook dell'utente che abbiamo ottenuto.
E poi aggiungere il nuovo utente nel nostro sito server, nel database.
Quindi questa è la strategia che configuriamo per il
nostro passaporto, il nuovo FacebookTokenStrategy.
Quindi questo ci permetterà di trovare l'utente.
Così ora che abbiamo configurato la nostra applicazione per
creare un utente o trovare l'utente in base all'ID Facebook.
L' ultimo passaggio è ovviamente quello di introdurre
una nuova rotta nel file users.js.
Quindi nel file users.js ricorderai che avevamo il percorso di registrazione che
consente all'utente di registrarsi per l'account locale con il nome utente e la password.
E poi hai il login che permette all'utente di accedere usando il nome utente e
la password.
Ma ora, useremo Facebook per accedere all'utente.
Quindi in questo caso diremo, router.get,
e l'endpoint sarà/facebook/token.
Quindi, se l'utente invia una richiesta get agli utenti/facebook/token,
allora stiamo per autenticare l'utente utilizzando
l'autenticazione basata su Facebook OAuth 2.
Quindi qui, diremo passport.authenticate, e
stiamo andando ad autenticare utilizzando la strategia facebook-token.
Ricordiamo che avevamo già configurato questo nel nostro file authenticate.js,
quindi configureremo la strategia di autenticazione del passaporto facebook-token e
quindi quella funzione di callback che ottiene req, res qui.
Quindi lasciami, Attiva/disattiva la parola a capo qui,
in modo da poter vedere che questo è il router.get su questo endpoint qui.
E poi qui dentro, configurerò questa applicazione.
Quindi, a questo punto, diremo, se (req.user), ora nota che quando chiamiamo
passport.authenticate con la strategia facebook-token.
Questo, se ha successo,
sarebbe stato caricato nell'utente nell'oggetto richiesta.
Quindi, quando arriviamo a questo punto qui dopo che il
middware passport.authenticate facebook-token è stato eseguito,
l'utente avrebbe già caricato nell'oggetto richiesta.
Quindi, se questo è il caso, allora, diremo, creeremo un token.
Creeremo un token web JSON qui, proprio come il modo in cui abbiamo
creato il token web JSON quando l'utente ha effettuato l'accesso qui.
Quindi, lo copieremo qui.
Authenticate.getToken, quindi questo ci porterà il token web JSON.
Quindi, in sostanza, l'utente sta inviando il token di accesso al
server express, il server express utilizza AccesToken per andare su Facebook e
quindi recuperare il profilo dell'utente.
E se l'utente non esiste, creeremo un nuovo utente con quell'ID Facebook.
E poi, dopo, il nostro server espresso genererà
un token web JSON e quindi restituirà il token web JSON al nostro client.
Tutti gli accessi successivi dal nostro utente dovranno includere questo
token web JSON che abbiamo appena restituito utilizzando questo approccio.
Quindi a questo punto non hai più bisogno del token di accesso di Facebook.
È possibile scartare il token di accesso di Facebook a questo punto perché
il token Web JSON è quello che mantiene attiva l'autenticazione degli utenti per
qualsiasi durata in cui questo token Web JSON è attivo.
Ora, oltre a questo, ovviamente dobbiamo anche fare questi passi qui.
Quindi ho intenzione di copiare quella parte qui.
perché farò esattamente la stessa cosa anche in questo caso,
quindi incolleremo in quel codice qui.
Quindi diremo statusCode = 200, tipo di intestazione del contenuto, e
poi diremo res.json che hai effettuato l'accesso con successo, e il gioco è fatto.
Quindi con questo approccio, come puoi vedere, ora usando una chiamata a questo endpoint.
L' applicazione utente, il client in questo caso,
passerà il token di accesso di Facebook che ha appena ottenuto da Facebook.
E poi il nostro server espresso utilizzerà il token di accesso di Facebook per
verificare l'utente su Facebook.
E poi se l'utente viene riconosciuto da Facebook come utente legittimo, il
nostro server espresso restituirà un token JSON wed al nostro cliente.
E poi il nostro client viene autenticato e
quindi può procedere avanti con l'esecuzione delle altre operazioni
utilizzando il token JSON wed nell'intestazione di tutti i messaggi di richiesta.
Successivamente, proprio come abbiamo fatto con la strategia di autenticazione locale, il gioco è fatto.
Quindi abbiamo completato tutti gli aggiornamenti alla nostra applicazione, salviamo le modifiche.
Andando al nostro terminale, avviamo il server qui,
quindi diremo npm start, e il server è attivo e funzionante.
E ho notato che avevo digitato nella porta P-A-S-S-S,
e quindi questo ha causato un errore qui.
Quindi nota che quanto è facile commettere errori.
Quindi lasciami andare e correggerlo e poi tornare indietro e riavviare il mio server.
Quindi, quando incontri errori come questi, non farti prendere dal panico.
Guardati intorno per vedere dove si trova il problema e molto spesso,
sarà un problema semplice come questo che causerà errori per te.
Ancora una volta, tornando al users.js e
si vede che nel file authenticate.js,
ho configurato questa porta dicendo P-A-S-S-S.
Quindi nel file authenticate.js, lasciami riparare questo a passsport e
quindi salvare le modifiche e quindi riavviare il mio server.
Ora, riavviando il mio server, quindi il mio server è ora attivo e funzionante.
A questo punto, vai a un browser.
E nel browser, digita https://localhost3443.
Se ti capita di avere questa pagina memorizzata nella cache qui, potresti voler rimuovere la cache.
O semplicemente digita localhost: 3343/index.html, e
quindi noterai immediatamente che in questo index.html,
vedrai questo pulsante chiamato pulsante Accedi.
Quindi stiamo andando a fare clic su questo pulsante di accesso per accedere a Facebook.
Accediamo e poi verrai con questo messaggio qui.
Che se hai già effettuato l'accesso a Facebook in precedenza,
ti chiederà il permesso di continuare come utente.
In caso contrario, ti chiederà di accedere a Facebook con e
quindi ti permetterà di continuare.
Dal momento che avevo appena effettuato l'accesso a Facebook un po 'prima, quindi
posso semplicemente fare clic su Continua.
Ora, apri la console JavaScript degli sviluppatori in basso qui.
E nella console JavaScript, vedi un sacco di messaggi stampati qui.
E poi in particolare,
apri questo oggetto che vedrai nella console JavaScript.
E all'interno di questo oggetto, vedrai questa risposta alt qui.
E lì dentro, vedrai uno strumento di accesso presente lì.
Ora, questa è una risposta che si ottiene da Facebook o
fuori al server di autenticazione dalla nostra applicazione qui.
E ho intenzione di copiare semplicemente questo,
perché questo è il token di accesso che Facebook ci ha fornito.
Ora, ho bisogno di dare questo token di accesso al mio server express in modo
che vada e verifichi il mio profilo, e quindi consentirmi di accedere a quell'applicazione.
Quindi lo sto facendo in modo serrato
qui semplicemente perché volevo mostrarti come il token di accesso entra qui.
E copiamo il token di accesso, poi prenderò questo e
userò Postman per inviare questo token di accesso al mio server Express.
Ora, quando si progetta un'app Web come Angular
, l'app Ionic o l'app NativeScript, non è necessario eseguire tutti questi passaggi.
Ora, fondamentalmente quando il token di accesso viene restituito alla tua app Web,
all'app Angular o all'app Ionic o all'app NativeScript,
catturerai semplicemente questo token di accesso lì.
E poi si passerà questo token di accesso al
server Express utilizzando XMLHttpRequest per ottenere le informazioni.
Ma dal momento che volevo illustrare manualmente i passaggi.
Quindi, ho impostato questo index.html con un semplice
codice JavaScript che Facebook fornisce per me.
In modo che sarò in grado di recuperare questo token di autorizzazione che abbiamo ottenuto da
Facebook.
Quindi fammi copiare questo token di autorizzazione.
Ora, andremo a Postman, e poi provare a
vedere come possiamo ottenere il token web JSON dal nostro server Express.
Ora, andando a Postman, da Postman,
lasciami ora fare una richiesta GET a
localHost: 3443User'sfacebookToken.
E quando invio questa richiesta a quel punto,
l'altra configurazione che devo fare qui è che,
ho bisogno di passare questo token di accesso che ho appena ottenuto.
Ora, per passare un token di accesso nell'intestazione,
posso passarlo come intestazione di autorizzazione digitando l'autorizzazione.
Ma nota che il valore dovrebbe essere digitato come Beta con una B maiuscola in questo caso,
e quindi incollare quel token di accesso che abbiamo ottenuto da Facebook qui.
Nota la B maiuscola qui, e
poi puoi passare in questo al nostro server.
E poi dopo aver risposto dal nostro server,
vedresti che avresti ottenuto il token web JSON dal nostro sito server.
Quindi questo è un modo per ottenere il token web JSON scambiando il
token di accesso da Facebook che hai appena ottenuto con il tuo server Express.
E il tuo server Express a sua volta andrà a
ottenere le informazioni del tuo profilo da Facebook,
quindi creerà un account specifico per te,
quindi ti restituirà il token web JSON se tutto ha successo.
Un altro modo di passare queste informazioni è nell'intestazione,
si digita access_token come chiave.
E nel valore, digiti semplicemente il
token di accesso come questo qui, e poi puoi inviare la richiesta e la stessa cosa.
Restituirà di nuovo il token web JSON per te.
E poi si acquisirebbe il token web JSON e quindi si continuerebbe con il resto
degli accessi al server express utilizzando questo token web JSON.
Un terzo approccio consiste nell'includere questo nell'
URL stesso come parametro di query.
Il terzo approccio è quello di dire token? access_token= e
quindi incollare il token Web JSON in quel parametro di query.
Non usare le virgolette qui, solo il token web JSON stesso.
E poi invia la richiesta al tuo server.
E poi anche allora il tuo server restituirà il token web JSON corrispondente.
Quindi vedi tre diversi modi in cui puoi analizzare nel tuo token di accesso di Facebook
sul tuo server e quindi ottenere il token web JSON dal tuo server.
E dopo questo, il resto di questi passaggi procede proprio come prima.
Ora per convincervi che in realtà è stato creato un nuovo account con il
profilo Facebook per questo particolare utente, andiamo al terminale.
Nel terminale, in una nuova finestra del terminale, inizierò l'ondulazione del mongo qui.
Quindi nell'ondulazione del mongo, lasciami dire, usa Confusione.
E poi dirò, db.users.find () .pretty (),
e quindi stampare tutti gli utenti che sono registrati nel mio sistema.
Si nota che i tre utenti che avevamo configurato negli esercizi precedenti
sono tutti lì.
Si noti inoltre un quarto utente che è stato appena aggiunto in.
E nota che per questo particolare utente, non abbiamo ancora l'hash in origine,
ma invece il FaceBookID di quell'utente è impostato, e
il nome utente è impostato per essere quel valore, e il firstname è impostato lì.
E anche il cognome avrebbe dovuto essere impostato qui, ma
penso che ci sia un piccolo errore nel mio codice.
Quindi andrò a controllare la parte del cognome di esso lì.
Andare a authenticate.js.
Vediamo se ho fatto un errore.
Ci siamo.
Ho digitato il nome F-A-M-I-L-Y.
Quindi vedi, nemmeno io voglio commettere errori.
Quindi questo dovrebbe essere FamilyName qui,
user.lastname Profile.Name.FamilyName qui.
Quindi lasciami salvare le modifiche e ora il codice dovrebbe funzionare correttamente.
Tornando nuovamente al terminale,
ora si vede che un nuovo utente è stato creato con il profilo Facebook qui.
Ora ogni volta successiva che ho provato ad autenticarmi usando Facebook
è lo stesso processo.
Ho ottenuto il token di accesso da Facebook e
quindi analizzato il token di accesso al mio server express.
Il mio server express andrà quindi su Facebook, recupererà il profilo e
quindi controllerà se l'utente esiste già.
E nel successivo login che faccio usando Facebook,
scoprirei che questo particolare utente è già esistente nel sistema.
Quindi, procederà semplicemente in avanti e l'utente verrà autenticato e
quindi il server aggiuntivo emetterà un token Web JSON al loro
client e potremo procedere avanti da quel punto in poi proprio come prima.
Quindi vedi, impostare l'autenticazione basata su OAuth 2 utilizzando un
provider di servizi OAuth 2 come Facebook non è così difficile a condizione che entriamo in possesso
del modulo basato sulla strategia di autenticazione Facebook del passaporto appropriato.
Come il token Facebook del passaporto che si occupa già di gran parte
del lavoro per nostro conto e quindi ci consente di configurare il nostro server espresso
per gestire l'autenticazione di terze parti basata su OAuth 2 di Facebook.
Con questo, completiamo questo esercizio.
In questo esercizio, abbiamo imparato come eseguire tutte le autenticazione OAuth 2
utilizzando Facebook come autenticazione OAuth 2 fornita.
Questo è un buon momento per salvare le modifiche che hai fatto al
tuo Git Repository con il messaggio passaporto Facebook.
[ MUSIC]