Base64, Base64URL і кодування JWT
Процес, що запобігає помилкам з алфавітом і байтами та не плутає читабельні твердження JWT із перевіреною особою.
Base64 представляє байти як текст і не шифрує їх. Base64URL змінює алфавіт для URL і часто не використовує символи доповнення
як у JWT.
Почніть із байтів і правильного алфавіту
Спочатку перетворіть текст на байти UTF-8. Base64 використовує + і /
а Base64URL — - і _. Наявність символів доповнення залежить від протоколу.
Не змішуйте рівні кодування
Відсоткове кодування захищає компоненти URL і не є Base64URL. Повторне кодування або декодування може пошкодити роздільники
Unicode чи двійкові дані.
Сприймайте декодування JWT лише як перегляд
Заголовок і корисне навантаження є читабельним JSON у Base64URL
але довіра потребує перевірки підпису
алгоритму
видавця
аудиторії
часових тверджень та прав доступу.
Чекліст Base64 і JWT
- Визначте початкове кодування байтів
- Явно оберіть Base64 або Base64URL
- Обробляйте доповнення за правилами протоколу
- Уникайте подвійного кодування
- Окремо перевіряйте підпис і твердження JWT
Пов’язані гайди
Дізнайся workflow за цим інструментом і що перевіряти далі.
Як безпечно налагоджувати JWT-автентифікацію
Безпечний процес перевірки структури токена, claims, підпису та подальшої авторизації.
Як покроково налагоджувати JSON-відповідь API
Послідовний процес, що відокремлює транспортні помилки, синтаксис JSON і невідповідність контракту даних.