Instance Method


Sent to determine whether the delegate is able to respond to a protection space’s form of authentication.


optional func connection(_ connection: NSURLConnection, canAuthenticateAgainstProtectionSpace protectionSpace: URLProtectionSpace) -> Bool



The connection sending the message.


The protection space that generates an authentication challenge.

Return Value

true if the delegate if able to respond to a protection space’s form of authentication, otherwise false.


This method is called before connection(_:didReceive:), allowing the delegate to inspect a protection space before attempting to authenticate against it. By returning true, the delegate indicates that it can handle the form of authentication, which it does in the subsequent call to connection(_:didReceive:). If the delegate returns false, the system attempts to use the user’s keychain to authenticate. If your delegate does not implement this method and the protection space uses client certificate authentication or server trust authentication, the system behaves as if you returned false. The system behaves as if you returned true for all other authentication methods.