首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您可以删除iOS移动设备上的安装程序用户代理(与Safari不同)使用的cookies吗?

您可以删除iOS移动设备上的安装程序用户代理(与Safari不同)使用的cookies吗?
EN

Stack Overflow用户
提问于 2012-02-17 01:47:31
回答 2查看 712关注 0票数 1

我们正在企业内部向员工部署iOS应用程序,并控制谁可以通过SiteMinder访问下载网站,air将根据AD组成员身份对用户进行身份验证和授权。此身份验证过程会在设备上创建一个cookie,指示用户已通过身份验证(可能也已授权),这样他们就不会一次又一次地收到针对每个请求的提示。

问题是,用户可以下载并安装应用程序一次,之后就再也不能安装应用程序了,因为他们陷入了凭据提示循环。此循环是由于Siteminder身份验证cookie已过期且未被设备上的用户代理删除或更新的事实造成的。

据我所知,这是因为OTA安装URL (以"itms-Services://“开头)在设备上使用与mobile-Safari不同的用户代理,并且不响应来自站点的cookie删除调用,也不会自行删除cookie。这也意味着在Safari下删除cookie、清除缓存和网站数据并不能解决这个问题-- Safari并不拥有cookie。

删除应用程序(如果它仍然安装)也不能解决问题,重启设备也不能解决问题(我还没有尝试擦除设备,也不能真的开始要求我们的用户这样做)。

那么,有没有办法告诉用户代理itms服务正在用来删除它在设备上的cookie,或者对于iOS应用程序的OTA部署,是否有其他解决方案来解决这个问题?

在这种情况下,使用苹果AppStore并不是一个可行的解决方案。

通过更改SiteMinder中的参数来控制cookie的命名以创建新cookie也是不可行的,因为这将对此SiteMinder域支持的其他单点登录用户产生不利影响。

EN

回答 2

Stack Overflow用户

发布于 2012-11-17 07:05:46

我们最近遇到了类似的问题。我们能够通过向siteminder中的受保护资源添加"Allow HEAD“来修复它。Siteminder管理员可能只启用了"GET和POST“作为允许的操作。

票数 3
EN

Stack Overflow用户

发布于 2012-02-17 02:11:09

您可以通过以下方式删除cookie:

代码语言:javascript
复制
 for(NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) {

    if([[cookie domain] rangeOfString:@"mydomain.com"].location!=NSNotFound) {

        [[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9316347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档