Вставка CSS 3 от левого перехода

Файлы cookie не предназначены для аутентификации. Зачем изобретать колесо? У HTTP есть хорошо разработанные механизмы аутентификации. Если мы используем файлы cookie, мы используем HTTP только в качестве транспортного протокола, поэтому нам необходимо создать нашу собственную систему сигнализации , например, чтобы сообщить пользователям, что они поставили неправильную аутентификацию (с использованием HTTP 401 будет неверно, поскольку мы, вероятно, не будем поставлять Www-Authenticate клиенту, поскольку спецификации HTTP требуют :)). Следует также отметить, что Set-Cookie является лишь рекомендацией для клиента. Его содержимое может быть сохранено или не сохранено (например, если файлы cookie отключены), а заголовок Authorization отправляется автоматически по каждому запросу.

Другое дело, что для получения файла авторизации вы, вероятно, захотите сначала предоставить свои учетные данные? Если да, то разве это не RESTless? Простой пример:

  • Вы пытаетесь GET /a без cookie
  • Вы получаете запрос авторизации каким-либо образом
  • Вы идете и авторизуетесь каким-то образом, как POST /auth
  • Вы получаете Set-Cookie
  • Вы пытаетесь GET /a с cookie. Но GET /a ведет себя идемпотентно в этом случае?

Чтобы подвести итог, я считаю, что, если мы обращаемся к некоторому ресурсу, и нам нужно пройти аутентификацию, тогда мы должны аутентифицировать на этом тот же ресурс , нигде.

141
задан Gimmy 20 July 2013 в 12:54
поделиться