Pourquoi convertir JSON en Base64
En développant des APIs et des systèmes d'intégration, je convertis fréquemment du JSON en Base64. Cette conversion permet de transmettre des données structurées dans des contextes qui n'acceptent que du texte simple : paramètres URL, headers HTTP, tokens JWT (payload), stockage dans des champs texte sans échappement complexe.
Cas d'utilisation
Tokens JWT
Le payload d'un JWT est du JSON encodé en Base64URL. Comprendre cette conversion aide au débogage des tokens.
State dans les URLs
Passer un état complexe via query string. Le JSON encodé en Base64URL évite les problèmes d'échappement.
Configuration inline
Intégrer des configs JSON dans des fichiers YAML ou des variables d'environnement.
APIs legacy
Certaines APIs anciennes n'acceptent que des strings. Encoder le JSON préserve la structure.
Base64 vs Base64URL
- Base64 standard : Utilise +, /, et = pour le padding. Problématique dans les URLs.
- Base64URL : Remplace + par -, / par _, supprime le padding =. Sûr pour les URLs.
- JWT utilise Base64URL : C'est pourquoi les tokens contiennent - et _ au lieu de + et /