Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы основы ссылка класса NSURLAuthenticationChallenge

Опции
Развертывание Target:

На этой странице
Язык:

NSURLAuthenticationChallenge

Наследование


Оператор импорта


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в iOS 2.0 и позже.

NSURLAuthenticationChallenge инкапсулирует вызов со стороны аутентификации требования сервера от клиента.

Большинство приложений не создает сами запросы аутентификации. Однако Вы, возможно, должны были бы создать объекты запроса аутентификации при добавлении поддержки пользовательских сетевых протоколов как часть пользовательского NSURLProtocol подклассы.

Вместо этого Ваше приложение получает запросы аутентификации в различном NSURLSession, NSURLConnection, и NSURLDownload методы делегата, такой как URLSession:task:didReceiveChallenge:completionHandler:. Эти объекты предоставляют информацию, в которой Вы будете нуждаться при решении, как обработать запрос сервера для аутентификации. В ядре того запроса аутентификации пространство защиты, определяющее тип аутентификации, которую требуют, номер узла и номер порта, сетевой протокол, и (где применимо) область аутентификации (группа связанного URLs на том же сервере, совместно использующего единственный набор учетных данных).

Ваше приложение реагирует на запросы аутентификации путем обеспечения NSURLCredential объект. Подробные данные зависят от API, который Вы используете и от типа проблемы.

На высоком уровне, если Вы обеспечиваете учетные данные пользователя для сервера или прокси, proposedCredential метод обеспечивает учетные данные, соответствующие критерии, указанные в пространстве защиты, полученном от NSURLCredentialStorage класс, обрабатывающий запрос (принимающий такие учетные данные существует).

Если previousFailureCount метод возвращается 0, и предложенные учетные данные существуют, предложенные учетные данные еще не попробовали, что означает, что необходимо попробовать его. Если это возвращает ненулевой результат, то сервер отклонил предложенные учетные данные, и необходимо использовать те учетные данные, чтобы заполнить пароль или диалоговое окно селектора сертификата, затем обеспечить новые учетные данные. Можно создать основанные на пароле учетные данные путем вызова credentialWithUser:password:persistence: метод или создает основанные на сертификате учетные данные с credentialWithIdentity:certificates:persistence:.

Если пространство защиты аутентификации использует NSURLAuthenticationMethodServerTrust метод аутентификации, запрос просит, чтобы Вы проверили подлинность сервера. В этом случае, proposedCredential метод обеспечивает учетные данные на основе сертификатов, которые сервер обеспечил как часть его начального квитирования TLS. Большинство приложений должно запросить обработку значения по умолчанию на запросы аутентификации на основе пространства защиты доверия сервера, но если необходимо переопределить поведение проверки TLS по умолчанию, можно сделать так, как описано в Переопределяющей Проверке Цепочки TLS Правильно.

Для получения дополнительной информации о том, как сеансы URL обрабатывают различные типы запросов аутентификации, см. Ссылку класса NSURLSession и Руководство по программированию Загрузочной системы URL.

  • Возвращает инициализированный объект NSURLAuthenticationChallenge копирование свойств от challenge, и установка отправителя аутентификации к sender.

    Объявление

    Swift

    init(authenticationChallenge challenge: NSURLAuthenticationChallenge, sender sender: NSURLAuthenticationChallengeSender)

    Objective C

    - (instancetype)initWithAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge sender:(id<NSURLAuthenticationChallengeSender>)sender

    Параметры

    challenge

    Проблема, которую Вы хотите скопировать.

    sender

    Отправитель, которого Вы хотите использовать для нового объекта. Как правило, отправитель является экземпляром Вашего пользовательского NSURLProtocol подкласс, который названный этим методом.

    Обсуждение

    Большинство приложений не создает сами запросы аутентификации. Однако Вы, возможно, должны были бы создать объекты запроса аутентификации при добавлении поддержки пользовательских сетевых протоколов как часть пользовательского NSURLProtocol подклассы.

    При разделении на подклассы существующего NSURLProtocol подкласс, этот метод позволяет Вам изменить проблемы, выпущенные существующим классом так, чтобы Ваш подкласс получил любые ответы на те проблемы.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

  • Возвращает инициализированный NSURLAuthenticationChallenge объект для указанного пространства защиты, учетных данных, числа отказов, ответа сервера, ошибки и отправителя.

    Объявление

    Swift

    init(protectionSpace space: NSURLProtectionSpace, proposedCredential credential: NSURLCredential?, previousFailureCount count: Int, failureResponse response: NSURLResponse?, error error: NSError?, sender sender: NSURLAuthenticationChallengeSender)

    Objective C

    - (instancetype)initWithProtectionSpace:(NSURLProtectionSpace *)space proposedCredential:(NSURLCredential *)credential previousFailureCount:(NSInteger)count failureResponse:(NSURLResponse *)response error:(NSError *)error sender:(id<NSURLAuthenticationChallengeSender>)sender

    Параметры

    space

    Пространство защиты для проблемы URL. Это предоставляет дополнительную информацию о запросе аутентификации, таком как узел, порт, область аутентификации, и т.д.

    credential

    Предложенные учетные данные, или nil.

    count

    Общее количество предыдущих отказов для этого запроса, включая отказы для других пробелов защиты.

    response

    NSURLResponse объект, содержащий ответ сервера, заставивший Вас генерировать запрос аутентификации, или nil если никакой объект ответа не применим к проблеме.

    error

    NSError объект, описывающий ошибку аутентификации, или nil если это не применимо к проблеме.

    sender

    Объект, инициировавший запрос аутентификации (обычно, объект который названный этим методом).

    Обсуждение

    Большинство приложений не создает сами запросы аутентификации. Однако Вы, возможно, должны были бы создать объекты запроса аутентификации при добавлении поддержки пользовательских сетевых протоколов как часть пользовательского NSURLProtocol подклассы.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

  • error Свойство

    Ошибочный объект представление последней ошибки аутентификации. (только для чтения)

    Объявление

    Swift

    @NSCopying var error: NSError? { get }

    Objective C

    @property(readonly, copy) NSError *error

    Обсуждение

    Этот метод возвраты nil если протокол не использует ошибки указать ошибку аутентификации.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

    См. также

    – failureResponse

  • failureResponse Свойство

    Объект ответа URL представление последней ошибки аутентификации. (только для чтения)

    Объявление

    Swift

    @NSCopying var failureResponse: NSURLResponse? { get }

    Objective C

    @property(readonly, copy) NSURLResponse *failureResponse

    Обсуждение

    Этот метод возвраты nil если протокол не использует ответы для указания ошибки аутентификации.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

    См. также

    – ошибка

  • previousFailureCount Свойство

    Количество получателя неудачных попыток аутентификации. (только для чтения)

    Объявление

    Swift

    var previousFailureCount: Int { get }

    Objective C

    @property(readonly) NSInteger previousFailureCount

    Обсуждение

    Предыдущее число отказов включает отказы от всех пробелов защиты, не только текущий.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

  • proposedCredential Свойство

    Предложенные учетные данные для этой проблемы. (только для чтения)

    Объявление

    Swift

    @NSCopying var proposedCredential: NSURLCredential? { get }

    Objective C

    @property(readonly, copy) NSURLCredential *proposedCredential

    Обсуждение

    Этот метод возвраты nil при отсутствии учетных данных по умолчанию для этой проблемы.

    Если Вы ранее попытались аутентифицировать и перестали работать, этот метод возвращает новые неработающие учетные данные.

    Если предложенные учетные данные не nil и возвраты YEStrue когда Вы вызываете hasPassword метод, тогда учетные данные готовы использовать как есть. Если предложенные учетные данные hasPassword возвраты метода NOfalse, тогда учетные данные обеспечивают имя пользователя по умолчанию, и клиент должен предложить пользователю соответствующий пароль.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

  • protectionSpace Свойство

    Пространство защиты получателя. (только для чтения)

    Объявление

    Swift

    @NSCopying var protectionSpace: NSURLProtectionSpace { get }

    Objective C

    @property(readonly, copy) NSURLProtectionSpace *protectionSpace

    Обсуждение

    Объект пространства защиты предоставляет дополнительную информацию о запросе аутентификации, таком как узел, порт, область аутентификации, и т.д. Пространство защиты также говорит Вам, просит ли запрос аутентификации, чтобы Вы обеспечили учетные данные пользователя или проверили учетные данные TLS, предоставленные сервером.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.

  • sender Свойство

    Отправитель получателя.

    Объявление

    Swift

    var sender: NSURLAuthenticationChallengeSender { get }

    Objective C

    @property(readonly, retain) id< NSURLAuthenticationChallengeSender > sender

    Обсуждение

    Отправитель обычно является экземпляром NSURLProtocol подкласс, первоначально получивший запрос аутентификации.

    Если Вы используете NSURLSession API, это значение является чисто информационным, потому что необходимо реагировать на запросы аутентификации передающими константами к предоставленным блокам обработчика завершения.

    Однако, если Вы используете NSURLConnection или NSURLDownload API, в Вашем методе делегата обработчика аутентификации, Вы реагируете на запросы аутентификации вызывающими методами, определенными в NSURLAuthenticationChallengeSender протокол на этом объекте отправителя после того, как Вы заканчиваете обрабатывать запрос аутентификации.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в iOS 2.0 и позже.