我正在尝试拦截链接并登录用户,然后将它们发送到 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 时我不会遇到身份验证挑战.
所以问题是,我是否只是在某个地方搞砸了,忘记了一些重要的部分,还是我走错了路?