Спецификация HTTP гласит:
10.4.2 401 Несанкционированный
Запрос требует аутентификации пользователя. Ответ ДОЛЖЕН включать WWW-Аутентификацию
поле заголовка (раздел 14.47), содержащее запрос, применимый к запрашиваемому ресурсу.
Если единственная поддерживаемая мной схема входа - это OpenID (или CAS, или OAuth-токены и т. Д.), Что я должен указать в этом поле? То есть, как мне указать, что клиенту необходимо предварительно аутентифицировать и создать сеанс, а не пытаться отправлять учетные данные вместе с каждым запросом?
Прежде чем ответить, «не отправляйте 401; отправьте перенаправление 3xx на страницу входа в систему OpenID», как насчет клиентов, не использующих HTML? Как, например, Stack Overflow может использовать API, с которым может взаимодействовать мое пользовательское программное обеспечение?