0

在我的NSURLConnectionDelegate实例中,当连接接收401 Unauthorized到对 HTTP 请求的响应时,该请求包含与记录的支持的身份验证方法之一相对应的身份验证质询标头(例如WWW-Authenticate: Basicfor NSURLAuthenticationMethodHTTPBasic),那么我的connection:canAuthenticateAgainstProtectionSpace:方法将按我的预期调用。

但是,我还需要能够针对未列为支持开箱即用的身份验证方法进行身份验证,例如,我可能会得到挑战标头WWW-Authenticate: XAuth7,并且当发生这种情况时,connection:canAuthenticateAgainstProtectionSpace:不会调用该方法。

我猜这是因为它不知道身份验证方法是什么,但我希望能够通过添加支持来处理它,甚至只是获取原始质询标头并在连接委托中处理它。

这是 Cocoa (iOS) 库的一个基本限制,因为它们不能扩展到其他身份验证方法,还是有某种方式可以插入对其他身份验证方法的支持?


请注意,我正在使用已弃用的连接委托方法,因为我需要支持 iOS 4.3,它们仍然是最新的解决方案,但同样的问题也适用于更现代的解决方案,connection:willSendRequestForAuthenticationChallenge:因为它也不需要“不支持” ' 认证方法。

4

0 回答 0