6 votes

Supprimer "Bearer" de l'en-tête du jeton sans mettre en œuvre un système d'authentification personnalisé ou analyser le jeton ?

J'utilise actuellement un schéma d'authentification JWT dans lequel les jetons ont "Bearer :" dans le schéma. Est-il possible de supprimer le préfixe "Bearer" afin de ne pas avoir à l'ajouter côté client juste pour l'analyser à nouveau sur le backend ? Existe-t-il un moyen de faire cela sans implémenter un schéma personnalisé (donc tout en continuant à utiliser le schéma Bearer) ET sans avoir à analyser le token actuel pour le texte "Bearer : " ?

Pour l'instant, le code ressemble à ceci :

var token = req.headers.authorization;
var newToken = token.replace("Bearer ", "");
jwt.verify(newToken, jwtSecret, function (err, success) {
 if (err) {
  return res.
          status(401).
          end('Unauthorized, invalidtoken');
 } else {
  return next();
 }
})

L'idéal serait qu'il soit mis en œuvre comme tel :

var token = req.headers.authorization;
jwt.verify(token, jwtSecret, function (err, success) {
 if (err) {
  return res.
          status(401).
          end('Unauthorized, invalidtoken');
} else {
  return next();
}
})

Cela ne pose-t-il pas de problème ? Quelles sont les implications de la suppression de "Bearer" dans les en-têtes d'autorisation jwt ?

Gracias

4voto

kimj39 Points 41

Il n'y a pas de différence programmatique par rapport à la suppression du jeton Bearer dans le formatage de l'en-tête de la requête. Si vous choisissez de le faire, vous violez les RFC et les normes HTTP. Cela reviendrait à envoyer une charge utile dans une réponse GET et à enregistrer des données dans la base de données.

L'utilisation de jetons de porteur est dérivée de la conception Oauth ; il convient donc de consulter cette page pour connaître les normes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X