Из того, что я могу сказать, реализация C# JwtSecurityToken
не предназначена для шифрования его содержимого (как кажется, кажется, ваш вопрос). Вместо этого он предназначен для подписи своего содержимого. Это соответствует типичной модели безопасности токена. Предполагается, что это часть информации, которая в противном случае защищена.
Различие заключается в том, что вы не пытаетесь скрыть какую-либо информацию, вы просто проверяете источник информации (а также целостность, но это связано).
Например, Twitter может дать вам токен с данными «eddyuk», «потрясающее приложение eddyuk» и считать достаточным для авторизации. Чтобы избежать того, чтобы я сделал свой собственный токен с той же целью, они могут его подписать, поэтому для использования требуется точная копия оригинального токена.
Это служит двум целям: вам не нужно управлять сложной схемой отображения, и если ваш метод подписи безопасен, угадать невозможно.
Обратите внимание, что существует способ хранения зашифрованной информации в токене с использованием некоторых других реализаций, но C# 1 не поддерживает эту функциональность.
Ваш стартовый оператор «JwtSecurityToken не предназначен для шифрования его содержимого» является ложным. JWT включает как подписанные (JWS), так и зашифрованные токены (JWE). Обновите свой ответ. –
@ ZólyomiIstván: Я не могу найти ничего, что говорит о том, что JwtSecurityToken может выполнять шифрование на своем содержимом. Если вы хотите указать такую информацию, я обновлю свой ответ. – Guvante
Ах, ты прав. Я говорил о JWT вообще, но забыл о теге C#. Я готов удалить свой downvote, но теперь мой голос заблокирован системой до тех пор, пока не будет отредактирован ответ. –