Перейти к содержимому

JWT Отладчик

Декодируйте и проверяйте заголовки, полезную нагрузку и срок действия JWT.

Об этом инструменте

JWT (JSON Web Token) — это компактный кодированный формат для безопасной передачи информации между системами. Этот инструмент позволяет вам мгновенно декодировать и проверить содержимое любого JWT, выявляя заголовок, полезную нагрузку и содержащиеся в нём утверждения, без необходимости в внешних инструментах или команд терминала.

Чтобы использовать JWT Debugger, просто вставьте свой JWT в поле ввода, и инструмент немедленно отобразит декодированный заголовок (содержащий алгоритм и тип токена), полезную нагрузку (с данными пользователя, временем истечения и пользовательскими утверждениями) и валидность подписи токена. Это бесценно при разработке API, отладке проблем аутентификации или проверке содержимого токена при устранении неполадок.

Типичные сценарии использования включают проверку токенов аутентификации из потоков OAuth2, проверку пользовательских утверждений в микросервисах, проверку времени истечения токенов и понимание данных, встроенных в ваши токены. Имейте в виду, что хотя инструмент может декодировать любой JWT, он не может проверить подпись без секретного ключа — для полной валидации используйте серверные библиотеки или API.

Часто задаваемые вопросы

Реализация кода

import base64, json

def decode_jwt(token: str) -> dict:
    parts = token.split(".")
    if len(parts) != 3:
        raise ValueError("Invalid JWT format")
    
    def decode_part(part):
        # Add padding
        padded = part + "=" * (4 - len(part) % 4)
        decoded = base64.urlsafe_b64decode(padded)
        return json.loads(decoded)
    
    return {
        "header": decode_part(parts[0]),
        "payload": decode_part(parts[1]),
        "signature": parts[2],
    }

token = "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyMSJ9.signature"
decoded = decode_jwt(token)
print(json.dumps(decoded["payload"], indent=2))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.