【问题标题】:base64 for basic authentication in objective-c用于objective-c中的基本身份验证的base64
【发布时间】:2010-06-24 00:28:40
【问题描述】:

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

我看到 didReceiveAuthenticationChallenge: 完全能够为基本身份验证进行 base64 编码,但是我需要发送基本身份验证 Authorization: 标头的服务器不返回 HTTP401 并且(我假设?)不会导致didReceiveAuthenticationChallenge:要发送的委托消息 - 所以我无法在其中建立凭据。

所以,我使用的是

[urlRequestForMyWorkspace addValue:@"基本" forHTTPHeaderField:@"授权"];

在调用 initWithRequest 之前:

但是 - 我找不到适用于 iphone 的 Objective-c api 来从用户名和密码构建 base64 编码的凭据(除了编写一个,例如http://www.cocoadev.com/index.pl?BaseSixtyFour)。

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

谢谢, 理查德

【问题讨论】:

  • 在这里操作。问题真的不是关于 base64 api,而是更多关于是否有办法避免我使用它,因为 iphone 清楚地知道如何做到这一点:)
  • 最坏结果,您可以尝试在 URL 中包含身份验证字符串:例如user:pass@url.

标签: iphone objective-c base64 basic-authentication


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-03-26
    • 2021-04-15
    • 2015-08-12
    • 1970-01-01
    • 2021-01-25
    • 2022-09-28
    • 2012-07-26
    • 2012-11-19
    • 2012-07-19
    相关资源
    最近更新 更多