Процедуры аутентификации «пользователь-пользователь» |
|
Когда UAS получает запрос от UAC, ему может потребоваться аутентифици-ровать инициатора запроса перед обработкой сообщения. Если значение отклика аутентификации отсутствует в заголовке Authorization запроса, UA3 может запросить у отправителя подтверждение подлинности, отклонив запрос и передав ответ с кодом 401 (Unauthorized). В ответное сообщение 401 (Unauthorized) должен быть включен заголовок WWW-Authenticate. Значение поля состоит, как минимум, из одного запроса аутентификации, который включает в себя схему (схемы) аутентификации и параметры, применимые для данной области аутентификации. Ниже представлен пример заголовка WWW-Authenticate в ответе с кодом 401. WWW-Authenticate: Digest Когда инициирующий запрос UAC получает ответ с кодом 401 (Unauthorized), он, если это возможно, должен снова передать запрос, снабдив его надлежащим значением отклика аутентификации. UAC может потребовать от пользователя ввести свое имя и пароль. Как только значение отклика аутентификации будет получено (от пользователя, или обнаружено во внутреннем наборе ключей), UA должен занести в кэш-память значение отклика, соответствующее адресу в заголовке То и полю realm, и использовать это значение для следующих запросов. Если для данной области не было найдено значения отклика, UAC может попытаться передать запрос, используя имя пользователя «anonymous» без пароля. Если значение отклика было обнаружено, UA, желающий себя аутентифицировать перед UAS или сервером регистрации (обычно, но необязательно, после получения ответа с кодом 401 (Unauthorized)), он может это сделать, добавив в запрос заголовок Authorization. головок Authorization содержит значение отклика аутентификации, о информациях аутентификации агента пользователя для области, в которой находится запрашиваемый ресурс, а также с параметрами, требуемыми для аутентификации и защиты от злонамеренного воздействия. Пример поля заголовка Authorization представлен ниже (для запроса REGISTER, направляемого на сервер регистрации). uthorization: Digest username= «upletai»,
|

