Я прочитал несколько сообщений о "JWT против Cookie", но они только смутили меня...
-
Мне нужно уточнить, когда люди говорят о "аутентификации на основе токенов против файлов cookie", cookie здесь просто ссылается на файлы cookie сеанса? Я понимаю, что cookie похож на носитель, он может использоваться для реализации аутентификации на основе токенов (хранить что-то, что может идентифицировать зарегистрированного пользователя на стороне клиента) или аутентификации на основе сеанса (хранить константу на стороне клиента который соответствует информации о сеансе на стороне сервера)
-
Зачем нам нужен токен JSON? Я использовал стандартный файл cookie для реализации проверки подлинности на токенах (не используя идентификатор сеанса, не используя память сервера или хранилище файлов):
Set-Cookie: user=innocent; preferred-color=azure
Set-Cookie: user=innocent; preferred-color=azure
, и единственное отличие, которое я наблюдал, это то, что JWT содержит как полезную нагрузку, так и подпись... тогда как вы можете выбирать между подписанным или открытым текстом cookie для http-заголовка. На мой взгляд, подписанный файл cookie (cookie:'time=s%3A1464743488946.WvSJxbCspOG3aiGi4zCMMR9yBdvS%2B6Ob2f3OG6%2FYCJM'
) более эффективен по площади, единственным недостатком является то, что клиент не может читать токен, только сервер может... но я думаю, что это нормально потому что так же, как требование в JWT является необязательным, для маркера не обязательно иметь смысл