Вы правы, база 64 легко декодируется, но 2 раздела (заголовок и полезная нагрузка), которые основаны на 64 кодировании, не должны быть скрыты.
Просто общее введение, токен JWT состоит из 3 разделов nl. 1. Заголовок (алгоритм) 2. Загрузка (данные пользователя) 3. Подпись
Заголовок и полезная нагрузка содержат нечувствительные данные, но эти данные предоставляют достаточно информации, чтобы помочь вам идентифицировать пользователя, который предоставил ваммаркер. Поэтому для того, чтобы вы могли предоставить ему токен обновления или предоставить ему доступ к какому-либо ресурсу, вам необходимо знать некоторую информацию о нем без необходимости предоставления его учетных данных при каждом вызове.
Так что да, это легко декодируется, но это то, что 3-й раздел для подписи. Подпись получает заголовок, а base64 полезной нагрузки кодирует значения и хеширует их с помощью некоторого секретного ключа. Это делается для того, чтобы, когда ключ поступил в вашу серверную часть от клиента, мы сначала можем проверить, было ли изменено или изменено примечание полезной нагрузки (которое может содержать разрешения), если бы у них было значение хеш-значения токена, не было быто же самое.
Для получения дополнительной информации вы можете проверить следующие ресурсы: https://jwt.io/ (Чтобы увидеть структуру) https://jwt.io/introduction/ (Общая информация)