0
votes

Rediriger l'URL du profil après la connexion

Je suis nouveau dans Backend Node.js et jusqu'à présent, je suis en mesure de remplir l'enregistrement et la connexion avec l'authentification.

Lorsque vous vous connectez, je reçois un jeton en réponse en utilisant JWT Token

maintenant, je souhaite que les détails de l'enregistrement soient affichés aux utilisateurs après la connexion. Après vous être connecté, les détails doivent être de seuls les seuls utilisateurs de l'utilisateur se connectent.

et si l'administrateur se connecte, il obtiendra les champs d'utilisation enbles de la base de données.

C'est mon index.route: - xxx

Comment puis-je accéder aux détails de l'utilisateur dans l'API URL de profil? < / p>


0 commentaires

3 Réponses :


0
votes

Obtenez JWT à partir de Demande en-tête puis décodez xxx

jwt.verify - JWT DOC


0 commentaires

0
votes

Créer un nouveau middleware (ci-dessus d'autres itinéraires) xxx

aide: JWT - décodage et sauvegardez dans Req


5 commentaires

Et dans / profil , accédez aux infos de votre utilisateur avec req.decoded


Maintenant, je reçois ce message interdit dans / Login {"Succès": False, "Message": "Pas de jeton fourni." } . Cela ne doit pas arriver en login.


Cela signifie qu'il est applicable à tous les itinéraires de jetons corporels post-JSON. Quelque chose ne va pas


Essayez de modifier les itinéraires Nom: - / Profil -> / Utilisateur / Profil - /: UserID -> / Utilisateur /: UserID Middleware: app.use (Fonction () ...) -> App.Utilise ('/ utilisateur', une fonction() ...)


Je ne peux pas déjà avoir un point final root dans mon app.js IE; APP.Utilisez ('/ API', RTSINDEX); et, en plus, j'ai un fichier séparé pour vérifier le jeton.



0
votes

Dans le code, après retour Votre redirection ne fonctionne jamais. Donc, il y a 2 options:

  1. Vous n'avez pas besoin de retourner un jeton au client, il suffit d'utiliser res.redirect ('/ profil') après votre vérification. (De cette manière, votre serveur et votre client sont en une)

  2. Vous venez de renvoyer le jeton au client (N'utilisez pas res.redirect ('/ profil') plus), puis le client utilisera ce jeton pour rediriger vers le profil. (De cette manière, votre serveur et votre client sont séparés mutuellement).


6 commentaires

OK, pour la 2ème option, quelle est la façon d'utiliser ce jeton pour la route de profil?


Pour la 2e option, vous devez définir l'itinéraire de profil au client. Ensuite, une fois que votre vérification de votre connexion est effectuée à partir de serveur. Votre client prendra ce résultat pour authentifier dans le client et utilisera ce jeton pour la prochaine demande de serveur.


Authentifier dans le client. Un simple moyen est. Vous pouvez créer un appel de variable booléen global isauthenciqué et définissez par défaut par false . Après votre succès de connexion et que vous recevez un bon résultat du serveur, vous pouvez le modifier en true . Ensuite, votre client est déjà authentifié.


Lorsque vous vous connectez avec l'utilisateur valide, je reçois un jeton. Cela signifie qu'il est authentifié? { "message": "Auth réussie", "jeton": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InJvaGl0QG 1ldGFwZXJjZXB0LmNvbS IsInVzZXJJZCI6IjVjMm RlZTE3ZWFkNDQyNjRhND AxNTZmMCIsInJvbGUiTA wMiwiZXhwIjoxNTQ2ODQ 4NjAyfQ.PZ5_rthEs5dY VoEVcwhkR64OlfDlRdpq KTu3fRpDq00"}


Oui, puis enregistrez ce jeton du côté du client pour la prochaine demande de serveur. Je suppose que tout votre itinéraire dans le serveur est sécurisé (cela signifie que tout le monde doit se connecter pour obtenir le jeton, puis utiliser ce jeton pour accéder à un autre itinéraire). E.g: Vous voulez avoir plus d'informations sur votre compte. Donc, du client, vous envoyez une demande avec votre jeton à '/ profil' dans le serveur pour obtenir le contenu. Ensuite, affichez ce contenu à votre vue client.


Exactement, je ne comprends pas comment utiliser le jeton dans un autre itinéraire.