web-dev-qa-db-fra.com

Est-il prudent de placer un JWT dans l'URL en tant que paramètre de requête d'une requête GET?

Est-il prudent de placer un jwt (jeton Web Json) dans l'URL en tant que paramètre de requête d'une requête GET?

52
allen kim

Il peut être sûr dans les circonstances suivantes:

  1. le JWT est une utilisation ponctuelle
  2. les revendications jti et exp sont présentes dans le jeton
  3. le destinataire met correctement en œuvre la protection anti-rejeu à l'aide de jti et exp

mais dans le cas où il est utilisé comme un jeton pouvant être utilisé de manière répétée, par exemple. Par rapport à une API, il est préférable de le fournir comme paramètre de requête, car il peut se retrouver dans les journaux et les informations de processus système, accessibles aux autres utilisateurs ayant accès au serveur ou au système client. Dans ce cas, il serait préférable de le présenter dans un en-tête ou un paramètre POST.

De plus, en l'utilisant dans les paramètres de requête, vous pouvez respecter les limitations de taille d'URL des navigateurs ou des serveurs; l'utiliser dans un en-tête fournit plus d'espace, l'utiliser comme paramètre POST fonctionnerait mieux.

65
Hans Z.