Découvrez comment les serveurs envoient des tokens JWT aux clients dans l'autorisation basée sur les jetons, en simplifiant votre processus d'authentification en Java et au printemps. --- Cette vidéo est basée sur la question https://stackoverflow.com/q/64350012/ posée par l'utilisateur 'Elvis' (https://stackoverflow.com/u/7516740/) et sur la réponse https://stackoverflow.com/a/64350410/ par l'utilisateur 'tashkhisi' ( https://stackoverflow.com/u/12867091/) sur le site "Stack Overflow '. Merci à ces grands utilisateurs et à la communauté StacKExchange pour leurs contributions. Visitez ces liens pour le contenu original et plus de détails, tels que des solutions alternatives, les dernières mises à jour / développements sur le sujet, les commentaires, l'historique de révision, etc. Par exemple, le titre d'origine de la question était: comment le serveur envoie le JWT au client dans l'autorisation basée sur les jetons? De plus, le contenu (sauf la musique) sous licence CC BY-SA https://meta.stackexchange.com/help/licensing Le message de question d'origine est sous licence de la licence «CC BY-SA 4.0» (https://creativecomons.org/licenses/by-sa/4.0/) et la licence de réponse originale est licensée sous la licence «CC par sa 4.0», et la licence de réponse originale est licene https://creativecommons.org/licenses/by-sa/4.0/) Licence. Si quelque chose vous semble, n'hésitez pas à m'écrire chez vlogize [at] gmail [dot] com. --- Comprendre la transmission JWT dans l'autorisation basée sur les jetons ces dernières années, le paysage de l'authentification a évolué. Alors que les développeurs deviennent plus conscients des problèmes de sécurité, il y a eu un passage de l'authentification traditionnelle basée sur la session vers des approches basées sur les jetons, comme JSON Web Tokens (JWT). Si vous avez appris l'authentification à Java et Spring, vous vous demandez peut-être comment le serveur transmet le JWT au client. Plongeons dans ce sujet et clarifions la mécanique derrière elle. Le problème: comprendre l'authentification basée sur les jetons dans l'authentification traditionnelle basée sur la session, l'utilisateur envoie généralement son nom d'utilisateur et son mot de passe au serveur, ce qui crée ensuite une session. Le serveur renvoie un ID de session dans un cookie (par exemple, set-cookie: sessionID). Le client utilise cet ID de session pour authentifier les demandes ultérieures. Cependant, avec l'authentification basée sur les jetons, vous avez généralement affaire à JWTS. Une confusion commune découle de la façon dont le serveur renvoie le JWT au client après l'authentification de l'utilisateur. Est-il envoyé dans une en-tête, et si oui, à quoi cela ressemble-t-il? La solution: comment les serveurs envoient des JWT aux clients Étape 1: Demande d'authentification La première étape d'un client dans un flux d'authentification basé sur des jetons est de s'authentifier au serveur. Cela se produit généralement via un point de terminaison API dédié, tel que / utilisateur / authentificateur. Voici comment cela se passe: le client envoie le nom d'utilisateur et le mot de passe au serveur. Cette demande peut être faite en utilisant diverses méthodes telles que les formulaires HTML ou l'authentification de base. Étape 2: Génération et réponse des jetons Une fois que le serveur valide les informations d'identification de l'utilisateur, il génère un JWT. Voici comment le processus fonctionne: le serveur n'envoie pas le JWT dans un en-tête personnalisé comme Set-Authorisation: JWT. Au lieu de cela, il envoie généralement le JWT dans le corps de réponse de la demande d'authentification. Le client reçoit ce JWT et le stocke, généralement dans le stockage local. À ce stade, les protocoles de sécurité cruciaux recommandent de ne pas enregistrer le nom d'utilisateur et le mot de passe dans le stockage du client. Étape 3: En utilisant le JWT pour les demandes ultérieures maintenant que le client dispose du JWT, il peut l'utiliser pour faire des demandes ultérieures aux ressources protégées. Voici comment cela fonctionne: pour chaque demande qui nécessite une authentification, le client renvoie le jeton au serveur dans les en-têtes comme ceci: [[voir la vidéo pour révéler cet extrait de texte ou de code]] Ce modèle d'utilisation d'un jeton améliore la sécurité car il réduit la nécessité de transmettre continuellement des informations sensibles, comme les noms d'utilisateur et les mots de passe. Les avantages de l'utilisation de l'authentification basée sur les jetons JWT offrent plusieurs avantages par rapport aux méthodes traditionnelles: Sécurité: En évitant le storage des informations d'identification sensibles, seul le jeton est transféré, réduisant les risques d'exposition. L'apatté: JWT est autonome, ce qui signifie que le serveur n'a pas besoin de contenir des informations de session, permettant une mise à l'échelle plus facile. Interopérabilité: les JWT peuvent être utilisés sur différents systèmes et domaines, permettant un plus grand degré de flexibilité. Conclusion Comprendre comment les serveurs envoient des JWT aux clients dans l'autorisation basée sur les jetons sont cruciaux pour le développement d'applications Web moderne. En recevant le JWT dans l'organisme de réponse et en l'utilisant pour les demandes ultérieures, vous pouvez améliorer la sécurité et l'efficacité dans vos processus d'authentification. Alors que vous continuez votre voyage avec Java et Spring, gardez ces principes à l'esprit pour créer des applications robustes et sécurisées. N'hésitez pas à partager vos réflexions ou à poser d'autres questions sur l'authentification basée sur les jetons dans les commentaires ci-dessous. Codage heureux!
Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!
Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.