Я хочу отразить идею вокруг. Я создаю веб-сервисы и веб-приложения уже более десяти лет, и в последнее время я сосредоточился на предоставлении как можно более RESTful-сервиса (например, используя один и тот же URI как для браузеров, так и для клиентов API, но с их изменением accept: решить, отправлять ли XML или XHTML).
Одной из серьезных проблем при использовании веб-браузеров со службами RESTful является отслеживание состояния пользователя при использовании частных методов. Лучший способ сделать это - предоставить клиенту токен HTTP-аутентификации, но не многим клиентам или пользователям нравится, когда в их браузере запрашивается окно HTTP-аутентификации, особенно когда они используются для входа в систему на основе веб-формы.
У HTTP-аутентификации также есть другие проблемы, такие как плохая поддержка истечения срока действия, но в других областях это намного лучше, чем сессии cookie.
Моя идея - разрешить веб-формам отправлять информацию об HTTP-аутентификации, выполнив следующие действия:
- Укажите 2 новых типа формы ввода HTML, а именно: type = 'username' и type = 'auth'
- Когда эти типы включены в форму, браузер отправляет значения вместе с запросом в URI формы в виде поля аутентификации HTTP, а не в качестве значений POST или GET.
Это может означать, что у нас может быть как RESTful аутентификация пользователя, но без стандартных полей входа в браузер. Я создал прототип грязного плагина Firefox, который вроде этого делает, но в настоящее время поддерживает только BASIC-аутентификацию (в конечном итоге он будет работать с Digest).
Проблема, которую я вижу, заключается в том, что эта идея работает хорошо, стандартизировав и ратифицировав ее так, чтобы все браузеры поддерживали ее вместе со стандартными безобразными блоками.
Кто-нибудь имеет какие-либо отзывы по этой идее или знает о каких-либо подобных усилиях?
У меня есть предстоящий проект, представляющий собой интрасеть, и у меня почти возникает желание закончить плагин (вместе с поддержкой SSL-сертификата клиента) и использовать его в качестве теста.
Я не смог найти ничего похожего, кроме пары небольших проектов, в которых разработчики использовали Javascript для чтения имени пользователя и пароля из формы, а затем использовали их в качестве токена http-аутентификации в XMLHTTPRequest
Далее - Следующие шаги
После нескольких исследований я решил взять шаблон 1999 года в качестве основы для нового предложения, которое будет представлено в WHATWG для HTML5. Основными координаторами должны быть:
- RESTful
- Удобный для пользователя
- Безопасный (т. Е. Поддержка дайджеста, не базовая)
- Обратная совместимость (т.е. не нарушает предыдущую версию)
- Полный прототип
- Запрашивайте больше отзывов
Если кому-то еще (спасибо за указатели Джулиана) есть что добавить в плане комментариев, отзывов или любых других соображений, пожалуйста, дайте мне знать. Как только я выложу это в очередь, я буду писать об этом в блоге.
Stackoverflow может быть хорошим местом для подобных идей и предложений.
Stackoverflow Вопрос
Как я могу привлечь к этому больше внимания здесь, в Stackoverflow - большинство людей просматривают теги?