Проще говоря, этот метод делегата отражает схему «Аутентификация доступа», указанную в HTTP 1.1, особенно RFC 2617.
Когда клиент, не прошедший проверку подлинности, отправляет запрос, сервер «бросает вызов» клиенту, отправив клиенту 401 (несанкционированное) ответное сообщение вместе с заголовком WWW-Authenticate
в ответе. Затем клиент, в свою очередь, может ответить на этот конкретный «вызов», указанный в заголовке WWW-Authenticate
, с предоставлением соответствующих учетных данных и повторением запроса.
Что именно клиент должен делать, зависит от типа вызова и схемы авторизации, а также требований клиента. Схема загрузки URL уже реализует поведение по умолчанию, которое во многих случаях достаточно, но когда поведение по умолчанию не подходит, вы можете реализовать этот делегат и адаптировать его к вашим конкретным потребностям.
IMO, клиентская библиотека OAuth должна реализовать этот делегат. Когда аутентификация клиента завершилась неудачно, сервер может отправить свой код статуса HTTP 401 (неавторизованный) в свой ответ, включая поле заголовка WWW-Authenticate
, указывающее, какие схемы аутентификации поддерживаются. (См. §5.2. Ответ об ошибкеRFC 6749).
Реализация этого метода делегата является действительно передовой темой, тем более что это влияет на безопасность. Поэтому я настоятельно рекомендую прочитать дополнительные материалы, прежде чем случайно отключить проверку доверия HTTP-серверов. ;)
Как мы можем добавить токен в этот метод? –