[MUSIC]
Maintenant que nous avons compris OAuth 2 et comment Facebook prend en charge OAuth 2,
passons à cet exercice où nous allons configurer notre
application de serveur express pour utiliser Facebook comme fournisseur OAuth 2 pour notre serveur.
Et en même temps pour notre application client.
Dans cet exercice, nous allons compter sur le passeport que
nous avons déjà configuré dans notre application express.
Nous allons configurer une nouvelle stratégie pour l'authentification avec Facebook
en utilisant ce module de nœud de jeton Facebook passeport.
Pour commencer cet exercice,
accédez à https//developers.facebook.com/apps.
Maintenant, c'est là que vous allez enregistrer l'application cliente, qui est essentiellement
votre serveur, le serveur supplémentaire, agissant comme l'application cliente pour Facebook.
Et puis nous allons enregistrer une application client là-bas.
Et puis obtenez un identifiant d'application et un secret d'application sur Facebook.
Maintenant, évidemment, il va sans dire que vous devez avoir un compte Facebook
pour être en mesure de configurer cela.
Si vous n'avez pas de compte Facebook et que vous ne souhaitez pas faire cet exercice,
il n'y a pas de mal à ne pas faire cet exercice.
Mais bien sûr, pour faire cet exercice OAuth 2,
vous avez besoin d'un compte Facebook pour configurer votre fournisseur OAuth sur Facebook.
Donc, en allant sur ce site,
developers.facebook.com/apps, vous remarquerez que vous
devrez vous connecter pour continuer si vous n'êtes pas connecté à partir de votre navigateur.
Maintenant, vous pouvez voir que j'ai déjà configuré quelques applications ici et
les ai testées.
Maintenant, pour créer une nouvelle application, cliquez sur Ajouter une nouvelle application.
Ensuite, vous pouvez fournir le nom de votre application.
Donc, je peux dire Confusion3, et ensuite nous pouvons fournir l'e-mail de contact.
Ensuite, suivez la procédure pour créer votre nouvelle application ici.
Et une fois l'application créée, vous remarquerez immédiatement
qu'un ID d'application a été créé pour votre application.
Et puis pour cette application particulière.
Donc, si vous allez sur le tableau de bord, vous verrez
deux éléments d'information dont vous avez vraiment besoin pour aller plus loin.
L' un est l'ID de l'application, alors assurez-vous de faire une copie de l'ID de l'application.
Et le second est le secret de l'application.
Donc, vous pouvez taper sur le bouton Afficher ici et ensuite vous obtiendrez le secret de l'application.
Secret ici pour que vous puissiez voir ces deux ne sont rien d'autre que des chaînes ASCII.
Faites donc une copie de ceci parce que vous devez configurer votre serveur expert et
aussi votre application cliente avec ces deux éléments d'information.
Et une fois que vous aurez la main,
nous pourrons poursuivre le reste de l'exercice.
Vous devrez accéder à votre tableau de bord de votre application.
Et dans les paramètres, comme vous pouvez le voir, dans les paramètres de base ici,
vous venez d'ajouter une plate-forme de site Web ici.
Et puis fournissez l'URL en tant que https//localhost3443.
Et enregistrez les modifications ici à votre application.
Après avoir ajouté dans le site ici allez aux paramètres avancés.
Et puis cliquez sur Oui pour dire natif ou
application de bureau ici et dire oui à cela, puis enregistrez les modifications.
Et dans le paramètre de base dans les domaines d'application, tapez
https://localhost:3443 et enregistrez les modifications.
Ensuite, allez aux instructions d'exercice pour cet exercice.
Et vous verrez qu'il y a un fichier index.html que
j'ai fourni dans les ressources d'exercice.
Téléchargez ce fichier index.html, puis déplacez-le dans votre dossier public.
Alors téléchargeons ce fichier index.html.
Ensuite, en allant dans le dossier ConfusionServer dans le dossier public,
vous voyez que j'ai déjà un fichier index.html.
Je vais remplacer cela par le fichier index.html téléchargé
que je viens d'obtenir.
Je l'ai enregistré sur mon bureau.
Donc, je vais juste tirer ce index.html
, puis remplacer le fichier index.html dans le dossier public de mon ConfusionServer.
Ensuite, allez à l'éditeur, ouvrons le fichier index.html.
Et si vous l'ouvrez, vous verrez que j'ai déjà configuré du
code JavaScript ici.
Ce code JavaScript que j'ai obtenu de Facebook où ils
spécifient comment vous pouvez configurer une application Dev en utilisant ceci.
Donc, je l'ai copié à partir des instructions Facebook.
En particulier, vous remarquerez que dans ce fichier index.html,
il y a ce champ AppID ici.
Vous allez remplacer ce champ AppID par l'
ID client que vous avez obtenu en enregistrant votre application sur Facebook.
Donc, ici, je remplace l'ID de ce client
par l'ID de mon application que j'ai enregistrée sur Facebook ici.
Et vous devez faire la même étape avec l'application
que vous enregistrez sur Facebook, avec l'identifiant de l'application que vous obtenez de Facebook.
Et puis enregistrez les modifications dans index.html.
Cette page index.html que j'ai ici va créer
un bouton de connexion sur la page index.html, qui lorsque vous cliquez sur ce bouton
nous aidera à vous connecter à Facebook, puis obtenir un jeton d'accès de Facebook.
Ensuite, en allant dans le dossier ConfusionServer,
nous allons installer le module de nœud de jeton Facebook passeport.
Donc, à l'invite de type npm, installez
Passport-Facebook-jeton et
installez ce module de nœud.
Et comme vous pouvez le voir, j'utilise la version 3.3.0 dans ce cours.
Pour revenir à l'éditeur, ouvrez config.js.
Et dans config.js, je vais ajouter
une propriété appelée 'facebook' dans mon fichier config.js.
Et à l'intérieur, je vais
configurer mon ClientID et
le ClientSecret.
Maintenant, le ClientID sera exactement ce que vous obtenez de Facebook.
Ici, et le secret du client comme vous l'avez vu quand vous avez enregistré votre demande.
Vous obtenez une deuxième chaîne là, alors copiez cette chaîne et
collez-la dans le ClientSecret ici.
Maintenant, assurez-vous que cela est collé comme une chaîne ici.
De même, coller dans ClientSecret dans mon fichier config.js.
Donc, la configuration ici m'aidera à utiliser ces deux là où j'ai besoin dans mon code.
Ensuite, comme nous l'avons réalisé, chaque fois que l'utilisateur se
connecte, puis obtient le jeton d'accès et le transmet à notre serveur express.
Le serveur express va utiliser ce jeton d'accès et aller
chercher les informations de fichier à partir du serveur Facebook 0 devrait.
Et puis, une fois qu'il aura atteint les informations de profil, notre serveur express
créera un nouveau compte utilisateur dans notre application.
Et utilisez l'ID Facebook comme index dans ce compte d'utilisation.
Donc, pour tenir compte de cela,
nous allons entrer dans le fichier user.js où nous avons défini notre modèle.
Donc, en plus du prénom et du nom,
je vais également ajouter dans un champ ici appelé FacebookID,
qui est du type String ici.
Le FaceBookID stocke le FaceBookID de
l'utilisateur qui a passé dans le jeton d'accès.
Dans l'étape suivante, je vais vous montrer comment configurer cela.
Ensuite, nous configurons notre stratégie Facebook en utilisant le jeton Facebook de passeport..
Lorsqu' un utilisateur passe le jeton d'accès,
vous allez chercher le profil et ensuite configurer un compte pour
cet utilisateur dans notre serveur local ici, dans notre serveur express ici.
Nous allons initialiser le prénom et le nom de famille et le FaceBookID.
Mais bien sûr, ce compte particulier n'aura pas de mot de passe ou
plutôt le hachage installé associé à cela.
Parce que, si un utilisateur se connecte en utilisant ce compte, il devra utiliser sa
partie de connexion Facebook pour se connecter à notre application.
Ensuite, nous irons à authentifier le fichier dark.js.
C' est là que nous avons mis en place toutes nos différentes
stratégies d'authentification des passeports.
Donc ici, en plus de la stratégie jwt et
la stratégie locale que j'ai configurée ici,
permettez-moi de créer une stratégie FaceBookTokenStrategy ici.
Et puis définissez le mot de passe require - facebook-jeton.
Et cela nous donnera une nouvelle stratégie que nous pouvons
configurer dans notre module passeport ici.
Donc, en descendant dans le code ici, juste là,
à la fin de ce fichier, je vais créer,
FacebookPassport comme passsport.use ().
Et donc c'est là que je spécifierais la nouvelle FaceBookTokenStrategy ici.
Et puis nous allons spécifier les détails de cette
FacebookTokenStrategy, à ce stade ici.
Donc, dans cette FacebookTokenStrategy, comment abordons-nous ce problème ?
Laissez-moi juste envelopper le mot wrap afin que vous puissiez voir le code complet.
Donc, pour la stratégie FaceBookTokenStrategy, nous allons commencer par dire d'abord.
La première partie de la FaceBookTokenStrategy prend le ClientID.
Que nous avons config à Config.facebook.clientID ici,
et client, Secret,
que nous avons également configuré dans, Notre fichier de configuration ici.
Nous allons donc fournir ceci comme le premier paramètre de cette stratégie ici.
Et puis le deuxième paramètre, est l'endroit où la défier
la fonction de rappel qui intervient à ce stade.
Donc, la fonction de rappel ici obtient trois valeurs.
Donc, il obtient accesstoken,
refreshToken, profil et
callback appelé comme fait ici.
Ce sont donc les quatre paramètres qui entrent dans la fonction de rappel que nous allons
configurer à ce stade.
Alors laissez-moi indenter ce code afin qu'il soit un peu plus clair à voir.
Et à l'intérieur de cette fonction de rappel que je configure ici,
je vais d'abord dire user.findone.
Donc, nous allons essayer de voir si cet utilisateur Facebook particulier
s'est connecté plus tôt afin que le compte
soit déjà configuré, Avec le FaceBookID.
Maintenant, où obtenons-nous le FacebookID ?
Notez que nous obtenons ce profil pour l'utilisateur, qui
arrive ici, de sorte que vous pouvez voir que ce profil est entré en tant que paramètre.
Ce profil contient beaucoup d'informations provenant de Facebook que nous
pouvons utiliser dans notre application.
Le AccessToken, bien sûr, est fourni au serveur par l'utilisateur.
Donc, une fois que nous essayons de trouver au moins un utilisateur avec un identifiant de profil Facebook.
Donc, si cet utilisateur existe alors nous avons déjà constaté que l'utilisateur s'est déjà
connecté à notre compte en utilisant l'approche Facebook.
Donc, dans ce cas, nous pouvons aller de l'avant sinon nous allons créer un nouvel utilisateur.
Donc, la fonction de rappel ici il y aura deux paramètres,
l'err et l'utilisateur ici.
Et cette fonction de rappel comme nous le verrons,
bien à l'intérieur ici, nous allons vérifier pour voir si (err).
Donc, si cela provoque une erreur, alors bien sûr
ce que nous devons faire est de retourner fait (erreur, false).
Donc, cela fait comme vous pouvez le voir est la fonction de rappel qui vient en tant que
paramètre de cette fonction ici, donc
nous allons appeler le fait avec l'err et false.
Si ce n'est pas une erreur alors
nous dirons si ( ! err
&& utilisateur ! == null).
Donc, si l'utilisateur n'est pas nul, donc cela signifie que nous avons trouvé un utilisateur dans le système
qui n'a pas été plus tôt avec ce FacebookID particulier, Donc, pour l'utilisateur,
tout ce que nous devons faire est de retourner fait (null,) car
il n'y a pas d'erreur ici, puis nous allons retourner la valeur de l'utilisateur pour cela ici.
Donc, ce qui signifie que si l'utilisateur s'est déjà connecté plus tôt en utilisant
l'approche Facebook, alors l'utilisateur aurait déjà été créé.
Et donc, cet utilisateur sera trouvé et ensuite nous passons juste cet utilisateur.
Si ce n'est pas le cas, voir la partie sinon est la partie la plus intéressante de cet exercice.
Si l'utilisateur n'existe pas, alors nous devons créer un nouvel utilisateur.
Maintenant, pour créer le nouvel utilisateur, nous allons dire utilisateur,
= nouvel utilisateur, et quand nous créons un nouvel utilisateur,
rappelez-vous que nous devons passer le nom d'utilisateur.
Le nom d'utilisateur sera obtenu à partir du profil, et le profil Facebook qui
a renvoyé aura un champ appelé DisplayName.
Et c'est donc le champ que je vais utiliser pour créer un nouvel utilisateur ici.
Donc, nous allons créer un nouvel utilisateur avec le nom d'utilisateur défini
égal à DisplayName, et après que l'utilisateur est créé,
alors nous allons dire user.facebookID, = profile.id.
Donc, nous allons enregistrer l'ID Facebook de l'utilisateur.
Donc, retournez dans cet objet de profil ici,
puis mettez l'ID Facebook de l'utilisateur à l'ID de profil.
Par la suite, si le même utilisateur se connecte,
cette recherche pourra trouver cet utilisateur dans notre base de données.
Et puis nous
dirons user.firstname
= profile.name.givenName
Donc, le profil a cet objet de nom sur elle,
qui a un prénom et un nom de famille associé à cela.
Ceci est renvoyé à partir du profil Facebook de l'utilisateur.
Et aussi l'user.lastname, nous allons
le définir à profile.name.FamilyName.
Et puis, une fois que nous aurons mis en place tous ces éléments, nous dirons user.save.
Donc, nous enregistrons les modifications à l'utilisateur
, puis cela retournera err et l'utilisateur.
Donc, il retournera une erreur si l'utilisateur n'a pas pu être créé,
sinon il retournera l'utilisateur créé ici.
Donc, dans ce cas, nous allons dire, si (err),
alors retourneront done (err,
false) parce que nous n'avons pas réussi à créer l'utilisateur.
sinon, l'utilisateur a été créé avec succès,
donc nous allons retourner done (null, utilisateur).
Donc, peu importe le cas,
si l'utilisateur existe alors vous trouverez cet utilisateur et retournerez la valeur.
Si l'utilisateur n'existe pas, vous allez créer un nouvel utilisateur basé sur
le profil Facebook de l'utilisateur que nous avons obtenu.
Et puis ajoutez le nouvel utilisateur dans notre site serveur, dans la base de données.
C' est donc la stratégie que nous configurons pour
notre passeport, la nouvelle FacebookTokenStrategy.
Cela nous permettra donc de trouver l'utilisateur.
Donc maintenant que nous avons configuré notre application pour
créer un utilisateur ou trouver l'utilisateur basé sur l'ID Facebook.
La dernière étape consiste bien sûr à introduire
une nouvelle route dans le fichier users.js.
Donc, dans le fichier users.js, vous vous souviendrez que nous avions la route d'inscription qui
permet à l'utilisateur de s'inscrire pour un compte local avec le nom d'utilisateur et le mot de passe.
Et puis vous avez le login qui permet à l'utilisateur de se connecter en utilisant le nom d'utilisateur et le
mot de passe.
Mais maintenant, nous allons utiliser Facebook pour se connecter à l'utilisateur.
Donc, dans ce cas, nous allons dire, router.get,
et le point de terminaison sera /facebook/token.
Donc, si l'utilisateur envoie une demande get aux utilisateurs/facebook/jeton,
alors nous allons authentifier l'utilisateur en utilisant
l'authentification basée sur Facebook OAuth 2.
Donc, ici, nous allons dire passeport.authenticate, et
nous allons nous authentifier en utilisant la stratégie facebook-jeton.
Rappelons que nous avions déjà configuré cela dans notre fichier authenticate.js,
donc nous allons configurer la stratégie de jeton facebook-authentification passeport et
ensuite cette fonction de rappel qui obtient req, res ici.
Alors laissez-moi, bascule le mot wrap ici,
afin que vous puissiez voir que c'est le router.get sur ce point de terminaison ici.
Et puis ici, je vais configurer cette application.
Donc, à ce stade, nous dirions, si (req.user), remarquez maintenant que lorsque nous appelons
passeport.authenticate avec la stratégie facebook-token.
Ceci, s'il réussit,
il aurait chargé dans l'utilisateur dans l'objet requête.
Donc, au moment où nous arrivons à ce point ici après l'
exécution du logiciel intermédiaire passeport.authenticate facebook-token,
vous auriez déjà chargé l'utilisateur dans l'objet de requête.
Donc, si c'est le cas, alors, nous allons dire, nous allons créer un jeton.
Nous allons créer un jeton web JSON ici, tout comme la façon dont nous avons
créé le jeton Web JSON lorsque l'utilisateur s'est connecté ici.
Donc, on va copier ça ici.
Authenticate.getToken, donc cela nous obtiendra le jeton web JSON.
Donc essentiellement, l'utilisateur envoie le jeton d'accès au serveur express,
le serveur express utilise le AccessToken pour aller sur Facebook
, puis récupérer le profil de l'utilisateur.
Et si l'utilisateur n'existe pas, nous allons créer un nouvel utilisateur avec cet identifiant Facebook.
Et puis après cela, notre serveur express va générer
un jeton web JSON, puis retourner le jeton web JSON à notre client.
Tous les accès ultérieurs de notre utilisateur devront inclure ce
jeton web JSON que nous venons de renvoyer en utilisant cette approche.
Donc, à ce stade, vous n'avez plus besoin du jeton d'accès Facebook.
Vous pouvez ignorer le jeton d'accès Facebook à ce stade car
le jeton Web JSON est celui qui maintient l'authentification des utilisateurs active pendant
toute la durée pendant laquelle ce jeton Web JSON est actif.
Maintenant, en plus de cela, bien sûr, nous devons également faire ces étapes ici.
Donc je vais juste copier cette partie ici.
parce que je vais faire exactement la même chose dans ce cas aussi,
donc nous allons coller dans ce code ici.
Donc, nous allons dire StatusCode = 200, type d'en-tête de contenu,
puis nous dirons res.json que vous êtes connecté avec succès, et c'est tout.
Donc, avec cette approche, comme vous pouvez le voir, en utilisant maintenant un appel à ce point de terminaison.
L' application utilisateur, le client dans ce cas,
transmettra le jeton d'accès Facebook qu'il vient d'obtenir de Facebook.
Et puis notre serveur express utilisera ensuite le jeton d'accès Facebook pour
vérifier l'utilisateur sur Facebook.
Et puis si l'utilisateur est reconnu par Facebook comme un utilisateur légitime,
alors notre serveur express retournera un jeton JSON wed à notre client.
Et puis notre client est authentifié et
peut ensuite procéder à la réalisation des autres opérations
en utilisant le jeton JSON wed dans l'en-tête de tous les messages de requête.
Par la suite, comme nous l'avons fait avec la stratégie d'authentification locale, c'est tout.
Donc, nous avons terminé toutes les mises à jour de notre application, sauvegardons les changements.
Aller à notre terminal, démarrons le serveur ici,
donc nous allons dire npm start, et le serveur est opérationnel.
Et j'ai remarqué que j'avais tapé dans le port P-A-S-S,
et cela a provoqué une erreur ici.
Donc, notez que combien il est facile de faire des erreurs.
Alors laissez-moi y aller et corriger cela, puis revenez et redémarrez mon serveur.
Donc, quand vous rencontrez des erreurs comme celles-ci, ne paniquez pas.
Regardez autour de vous pour voir où se trouve le problème et très souvent, ce
sera un problème simple comme celui-ci qui provoquera des erreurs pour vous.
Encore une fois, revenant au users.js et
vous voyez que dans le fichier authenticate.js,
j'ai configuré ce port P-A-S-S disant.
Donc, dans le fichier authenticate.js, laissez-moi corriger cela à passsport
, puis enregistrer les modifications, puis redémarrer mon serveur.
Maintenant, redémarrez mon serveur, donc mon serveur est maintenant opérationnel.
À ce stade, allez dans un navigateur.
Et dans le navigateur, tapez https://localhost3443.
Si vous avez cette page mise en cache ici, vous pouvez supprimer le cache.
Ou tapez simplement localhost:3343/index.html, et
puis vous remarquerez immédiatement que dans ce index.html,
vous verrez ce bouton appelé bouton Connexion.
Nous allons donc cliquer sur ce bouton de connexion pour vous connecter à Facebook.
Connectez-vous, puis vous arriverez avec ce message ici.
Si vous vous êtes déjà connecté à Facebook plus tôt,
il demandera l'autorisation de continuer en tant qu'utilisateur.
Si ce n'est pas le cas, il vous demandera de vous connecter à Facebook avec
, puis vous permettra de continuer.
Depuis que je viens de me connecter à Facebook un peu plus tôt, donc
je peux simplement cliquer sur Continuer.
Maintenant, ouvrez la console JavaScript des développeurs en bas ici.
Et dans la console JavaScript, vous voyez un tas de messages imprimés ici.
Et puis en particulier,
ouvrez cet objet que vous verrez dans la console JavaScript.
Et à l'intérieur de cet objet, vous verrez cette réponse alt ici.
Et là, vous verrez un outil d'accès présent là.
Maintenant, c'est une réponse qui est obtenue de Facebook ou
sur le serveur d'authentification par notre application ici.
Et je vais simplement copier ceci,
parce que c'est le jeton d'accès que Facebook nous a fourni.
Maintenant, je dois donner ce jeton d'accès à mon serveur express
pour qu'il aille vérifier mon profil, puis me permettre de me connecter à cette application.
Donc, je fais cela d'une manière serrée
ici simplement parce que je voulais vous montrer comment le jeton d'accès entre ici.
Et nous copions le jeton d'accès, puis je vais prendre ceci et
utiliser Postman pour envoyer ce jeton d'accès à mon serveur Express.
Maintenant, lorsque vous concevez une application Web comme Angular, ou
l'application Ionic, ou l'application NativeScript, vous n'avez pas besoin de faire toutes ces étapes.
Maintenant, fondamentalement, lorsque le jeton d'accès est retourné à votre application Web, à
l'application Angular, ou à l'application Ionic, ou à l'application NativeScript,
vous allez simplement capturer ce jeton d'accès.
Ensuite, vous passerez ce jeton d'accès sur le
serveur Express en utilisant XMLHttpRequest pour obtenir les informations.
Mais puisque je voulais illustrer manuellement les étapes.
Donc, j'ai configuré ce index.html avec un
code JavaScript simple que Facebook fournit pour moi.
Pour que je puisse récupérer ce jeton d'autorisation que nous avons obtenu de
Facebook.
Alors laissez-moi copier ce jeton d'autorisation.
Maintenant, nous allons aller à Postman, puis essayer de
voir comment nous pouvons obtenir le jeton web JSON à partir de notre serveur Express.
Maintenant, aller à Postman, de Postman,
laissez-moi maintenant faire une requête GET à
LocalHost : 3443User's FacebookToken.
Et quand j'envoie cette requête à ce point,
l'autre configuration que je dois faire ici est que,
j'ai besoin de passer ce jeton d'accès que je viens d'obtenir.
Maintenant, pour passer un jeton d'accès dans l'en-tête,
je peux le passer en tant qu'en-tête d'autorisation en tapant autorisation.
Mais notez que la valeur doit être tapée en Bêta avec un B majuscule dans ce cas,
puis collez ce jeton d'accès que nous avons obtenu de Facebook ici.
Notez la majuscule B ici,
puis vous pouvez le transmettre à notre serveur.
Et puis en réponse de notre serveur,
vous verrez que vous auriez obtenu le jeton web JSON à partir de notre site serveur.
C' est donc une façon d'obtenir le jeton web JSON en échangeant votre
jeton d'accès de Facebook que vous venez d'obtenir avec votre serveur Express.
Et votre serveur Express à son tour va
obtenir vos informations de profil auprès de Facebook,
puis créer un compte spécifiquement pour vous,
puis vous retourner le jeton web JSON si tout est réussi.
Une autre façon de transmettre ces informations est dans l'en-tête,
vous tapez access_token comme clé.
Et dans la valeur, vous tapez simplement le
jeton d'accès comme celui-ci ici, puis vous pouvez envoyer la requête Et la même chose.
Il retournera à nouveau le jeton web JSON pour vous.
Et puis vous captureriez le jeton Web JSON, puis continuez avec le reste
des accès à votre serveur express en utilisant ce jeton Web JSON.
Une troisième approche consiste à inclure cela dans
votre URL elle-même en tant que paramètre de requête.
La troisième approche est de dire jeton ? access_token=
, puis collez le jeton web JSON dans ce paramètre de requête.
N' utilisez pas les guillemets ici, juste le jeton web JSON lui-même.
Et puis envoyez la requête à votre serveur.
Et puis même alors votre serveur retournera le jeton web JSON correspondant.
Ainsi, vous voyez trois façons différentes que vous pouvez analyser dans votre jeton d'accès Facebook sur
votre serveur, puis obtenir le jeton Web JSON à partir de votre serveur.
Et après cela, le reste de ces étapes se déroulent comme avant.
Maintenant, pour vous convaincre qu'en fait un nouveau compte a été créé avec le
profil Facebook pour cet utilisateur particulier, allons au terminal.
Dans le terminal, dans une nouvelle fenêtre de terminal, je vais commencer l'ondulation mongo ici.
Donc, dans l'ondulation mongo, laissez-moi dire, utilisez Confusion.
Et puis je dirai, db.users.find () .pretty (),
puis imprimer tous les utilisateurs qui sont enregistrés dans mon système.
Vous remarquez que les trois utilisateurs que nous avions configurés dans les exercices précédents
sont tous là.
Notez en outre un quatrième utilisateur qui vient d'être ajouté dans.
Et notez que pour cet utilisateur particulier, nous n'avons pas encore le hachage dans la source,
mais à la place le FaceBookID de cet utilisateur est configuré, et
le nom d'utilisateur est configuré pour être cette valeur, et le prénom est configuré là.
Et aussi le nom de famille aurait dû être mis en place ici mais
je pense qu'il y a une petite erreur dans mon code.
Donc je vais aller vérifier la partie du nom de famille là-bas.
Aller à authenticate.js.
Voyons si j'ai fait erreur ici.
On y va.
J' ai tapé le nom F-A-M-I-L-Y.
Vous voyez, même moi, je ne veux pas faire des erreurs.
Donc, cela devrait être FamilyName ici,
user.lastname Profile.Name.FamilyName ici.
Alors laissez-moi enregistrer les changements, et maintenant le code devrait fonctionner correctement.
En revenant à nouveau au terminal,
vous voyez maintenant qu'un nouvel utilisateur a été créé avec le profil Facebook ici.
Maintenant, chaque fois que j'ai essayé de m'authentifier en utilisant Facebook
est le même processus.
J' ai obtenu le jeton d'accès de Facebook
, puis j'analyse dans le jeton d'accès à mon serveur express.
Mon serveur express va ensuite aller sur Facebook, récupérer le profil,
puis vérifier si l'utilisateur existe déjà.
Et dans la connexion suivante que je fais en utilisant Facebook,
je trouverais que cet utilisateur particulier est déjà existant dans le système.
Donc, il va simplement aller de l'avant et l'utilisateur sera authentifié
, puis le serveur supplémentaire émettra un jeton web JSON à leur
client et nous pouvons aller de l'avant à partir de ce point comme avant.
Donc, vous voyez, configurer l'authentification basée sur OAuth 2 en utilisant un
fournisseur de services OAuth 2 comme Facebook n'est pas si difficile à condition que nous obtenions
le module approprié basé sur la stratégie d'authentification Facebook passeport.
Comme passeport jeton Facebook qui prend déjà en charge une grande partie
du travail en notre nom et nous permet ensuite de configurer notre serveur express
pour gérer l'authentification tierce partie basée sur OAuth 2 de Facebook.
Avec cela, nous terminons cet exercice.
Dans cet exercice, nous avons appris comment faire toute l'authentification OAuth 2
en utilisant Facebook comme authentification OAuth 2 fournie.
C' est le bon moment pour vous d'enregistrer les modifications que vous avez apportées à
votre référentiel Git avec le message passeport Facebook.
[ MUSIQUE]