问题标签 [nsurlcredentialstorage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2173 浏览

iphone - 清除 credentialsForProtectionSpace 以仅设置一个键值。NSURLCredentialStorage

我正在学习 NSURLCredentialStorage 并且有一个情况。在开发我的应用程序时,我碰巧使用以下代码存储了两个带有密码的用户名。我遇到的问题是,不需要存储两组 uname/pword 组合。所以我的问题是,如何重置存储并重新开始?

这是我加载凭据的方式:请注意,我正在使用来自 ObjectiveResource 示例的加载,它在索引 0 处抓取对象。我希望只有 1 个对象对。

}

0 投票
0 回答
425 浏览

ios7 - NSURLCredentialStorage not work in iOS 7

hope i'm not unique iOS 7 victim :)

I have an application that synchronize its database with my web service, in my synchronization flow there is 14 call to web services, using Windows Authentication. All this call are inside a separate thread. I created a custom class that return NSData by URL. Till iOS7 all worked fine, but with new iOS version user credential saved in sharedCredentialStorage (NSURLCredentialStorage) no longer work. Here is my code:

How I can implement an synchronous request using NTLM credentials in iOS7 :( ?

Thank you in advance, Max

0 投票
1 回答
363 浏览

ios - 如何在 iOS 中删除用于 https 身份验证的 NSURLCredential 存储

每次收到每个 https 请求的响应后,我都需要删除 NSURLCredential 存储。在我的情况下没有发生这种情况。下面的方法只在第一次请求时执行,对于下一次请求它不会被调用。当我重新启动应用程序时,它会被调用。我在 SO 中尝试了很多建议,但没有帮助。我怎样才能解决这个问题?

0 投票
1 回答
72 浏览

ios - NSURLProtectionSpace - 处理同一主机中的子目录

当保护空间保存在存储中时,是否有存储子目录NSURLCredential

试过了

  1. 子类NSURLProtectionSpace化但没有访问该属性的结果。
  2. 将后缀添加到主机属性并通过拆分主机字符串来检索域。但这会导致复制相同的保护空间 NSURLCredentialStorage;一个用于带后缀的主机,一个用于不带后缀的主机

要求是对同一主机下的两个虚拟域有单独的保护空间。

例如:http ://example.com/vdomain1和http://example.com/vdomain2

在查找特定凭据时需要检查域。

提前致谢。

0 投票
2 回答
734 浏览

ios - NSURLCredentialStorage 默认凭据未自动使用

我正在从 NSURLConnection 切换到 NSURLSession 以进行我的应用程序通信,并且在我使用它的同时,尝试从委托身份验证转移到使用 NSURLCredentialStorage。我已经移动了代码,但是尽管在应用程序启动时在 sharedCredentialStorage 上设置了 defaultCredentials,但我还是在委托上调用了 -URLSession:task:didReceiveChallenge。

根据以下记录的消息,保护空间是相同的(我在设置凭据时创建的和通过 NSURLAuthenticationChallenge 传递的):

在 didReceiveChallenge:(NSURLAuthenticationChallenge*)challenge 委托方法期间:

结果是

https://stackoverflow.com/a/501869/563905表明,当服务器响应 401 质询时,NSURLConnection(这是 NSURLSession 问题吗?)首先检查标头是否有授权(没有任何设置)和然后咨询 NSURLCredentialStorage 以获取保护空间的凭据。

我只是不明白为什么要调用 didReceiveChallenge 代表?当我没有设置委托方法时, NSURLSession 只是重新发送请求而没有任何凭据......我很难过......

编辑:我在 didReceiveChallenge: 方法中添加了手动凭据处理,尽管只使用了一个 NSURLSession,但它会为每个请求触发。

0 投票
1 回答
121 浏览

ios - 检查 NSURLCredential 是否存在

我正在寻找一种方法来检查具体的 NSURLCredential 是否存储在我的应用程序中。我正在尝试从 NSURLCredentialStorage 获取它,但我没有找到实现它的方法。不知道有没有办法检查?

谢谢。

0 投票
0 回答
1885 浏览

nsurlsession - 将 NSURLSession 与 NSURLCredentialStorage 和 NSURLAuthenticationMethodClientCertificate 一起使用

我试图避免使用

我知道您可以将凭据存储在

我使用以下代码将我的客户端证书存储在凭证存储中

一旦我在这里添加了它,会话/任务就不会从商店中读取它。我实施了

方法并且能够以这种方式接受挑战,并且我可以通过执行以下操作来获取默认凭据

这对我来说意味着凭据已正确存储,但是当我告诉完成处理程序执行默认处理时,它失败了,这就是我得到的错误。

我是在想这个错误还是 NSURLCredentialStorage 不适合 NSURLAuthenticationMethodClientCertificate

0 投票
1 回答
440 浏览

ios - 如何与 Safari 共享 NSURLConnection 凭据?

我正在尝试拦截链接并登录用户,然后将它们发送到 Safari 并在没有身份验证请求的情况下加载页面。

所以,到目前为止我在做什么......

我为我的应用注册了一个自定义 URL 方案。称它为“myhttp”。现在有人点击 myhttp://secured.com/foo 的链接(比如来自电子邮件),我的应用程序就会运行。这些应用程序从某个地方提取用户的凭据,并使用NSURLConnection. NSURLConectionDelegate工具connection:didReceiveAuthenticationChallenge和我很好地浏览了安全层。接下来我尝试使用UIApplication openURL启动 Safari 的方法加载相同的 url,但我仍然得到身份验证检查。

我认为这会起作用,因为我阅读了 Apple 文档中的以下内容。

Credentials stored in persistent storage are kept in the user’s keychain and shared among all apps.

当我检查时,NSURLCredentialStorage我可以看到我刚刚使用的凭据存储在那里,其中包含正确的信息、保护空间、方案等,但显然我做错了什么,或者当我切换到 Safari 时我不会遇到身份验证挑战.

所以问题是,我是否只是在某个地方搞砸了,忘记了一些重要的部分,还是我走错了路?

0 投票
1 回答
89 浏览

ios - [NSURLCredentialStorage sharedCredentialStorage] 线程安全吗?

当主线程上有 Web 视图控件时,从非主线程上下文(例如串行调度队列?)操作从 [NSURLCredentialStorage sharedCredentialStorage] 获得的对象是否安全?

0 投票
0 回答
285 浏览

ios - iOS 如何从 NSURLCredentialStorage 中正确检索凭据?

我遇到了无法从中检索凭据的问题NSURLCredentialStorage,即使我在保存后立即尝试此操作。

凭证格式正确并被服务器接受,它被设置为永久的。我有调试代码来打印并确认凭证具有身份和证书。但是,当我尝试从凭证存储中检索它时,调试会将所有值打印为 Null,而凭证本身不为 null。

如何从 NSURLCredentialStorage 正确检索凭据?

这是保存前后的日志