base64用于objective-c中的基本身份验证

时间:2010-06-24 00:28:40

标签: iphone objective-c base64 basic-authentication

我在SO上看过一些类似的问题,但最近都没有 - 所以我正在检查是否有任何改变。

我看到didReceiveAuthenticationChallenge:完全能够为基本身份验证执行base64编码,但服务器我需要发送一个基本的auth Authorization:header来不返回HTTP401并且(我假设?)不会导致didReceiveAuthenticationChallenge:委托发送消息 - 所以我不能在那里建立凭证。

相反,我正在使用

[urlRequestForMyWorkspace   addValue:@“Basic”   forHTTPHeaderField:@ “授权”];

在调用initWithRequest之前:

但是 - 我找不到一个在iphone上运行的objective-c api,用于从用户名和pw构建base64编码的凭证(除了写一个例如http://www.cocoadev.com/index.pl?BaseSixtyFour)。

所以 - 这是唯一的方法,还是有其他方式我可以强制使用标准apis发送http基本身份验证凭证 - 如果服务器没有返回401,这就是我' m假设原因didReceiveAuthnChallenge:要发送?

感谢, 理查德

1 个答案:

答案 0 :(得分:0)

问题出在您的服务器端代码上,因为它没有返回401 =>永远不会调用didReceiveAuthenticationChallenge: delegate。所以你被迫这样做(使用标题字段)