У меня есть проект, использующий членство в ASP.NET, и я пытаюсь сохранить веб-токен Json в составе файла cookie членства. Длина этого токена составляет 1134 байта.
Я добавил это в FormsAuthenticationTicket в качестве параметра UserData
. Сгенерированный файл cookie не будет распознан, и я понял, что при вызове FormsAuthentication.Encrypt
возвращается строка длиной более 4096 символов.
Я провел тесты для ряда различных длин для UserData
и обнаружил, что алгоритм шифрования неэффективен, когда дело касается размера, добавляя около четырех символов для каждого символа пользовательских данных.
Есть ли обходной путь к этому? Могу ли я перейти на альтернативный механизм шифрования, который позволяет увеличить размер UserData
?
Если это уместно, здесь есть элемент machineKey
в файле web.config
.
<machineKey
compatibilityMode="Framework45"
validationKey="<128 alphanumeric characters>"
decryptionKey="<64 alphanumeric characters>"
validation="SHA1"
decryption="AES"
/>
Интересно, что у меня есть более новое приложение ASP.NET MVC, которое использует CookieAuthentication. Я включил JWT того же размера, что и заявка пользователя. Длина файла cookie .ApNet.ApplicationCookie
составляет всего 2262 байта.