在我的应用程序中,我需要实现下一个功能:当用户登录应用程序时,它(应用程序)需要将某些网站的 cookie(或任何其他数据)保存到移动 Safari。目标是当用户下次在 Safari 中打开该网站时不再登录。
文档 https://developer.apple.com/library/prerelease/mac/documentation/Cocoa/Reference/Foundation/Classes/NSHTTPCookieStorage_Class/index.html说它不能在 iOS 上使用 cookie 来完成。有人知道还有其他解决方案吗?实现所需的功能是使其“静默”地呈现给用户,而无需打开 Safari。
UPDATE
是否可以从移动 Safari 访问应用程序数据并获得一些回调?例如,当用户浏览网站时,网站会向应用程序发送一些回调,并获取一些用户数据的响应。
老问题,但是您能否从您的应用程序中打开 Safari 到一个特殊的一次性 URL,该 URL 将用户带到您托管的页面,传递从同一服务器上的 API 检索的令牌,然后使用页面验证令牌并设置 cookie?这样授权是在服务器上处理的,服务器可以在响应中设置 cookie。
你可以在你的应用程序中做这样的事情
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://myhost.com/myhandler?token=PX2G16BWFKZBQWUKGF3BGRY2Z6BEJ7Z3PMO2GZ6S3R00JVWBVEO6VWBEXNK14IBJ5GKAY5EKBLAHNSAJ8"]];
然后 myhost.com/myhandler 的页面将读取并验证令牌,并在响应上设置 cookie,然后使令牌无效。您还可以添加令牌的使用时间限制。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)