Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iOS中使用预设cookie或标题在Safari中打开URL?_Ios_Objective C_Swift - Fatal编程技术网

如何在iOS中使用预设cookie或标题在Safari中打开URL?

如何在iOS中使用预设cookie或标题在Safari中打开URL?,ios,objective-c,swift,Ios,Objective C,Swift,在我的应用程序中,我有一个屏幕,用户可以单击不同类型的文件来查看和下载它们。但是,只有在用户通过网站登录后,才能访问此屏幕 我使用以下方法启动带有URL的Safari浏览器: UIApplication.sharedApplication().openURL(NSURL(string: url)!) 然而,用户被重定向到登录屏幕,因为他还没有被授权使用该网站 我的问题是,如何将cookie或头传递给Safari并使用它们启动URL?您不能直接这样做openURL仅此而已,不再需要 您需要在UR

在我的应用程序中,我有一个屏幕,用户可以单击不同类型的文件来查看和下载它们。但是,只有在用户通过网站登录后,才能访问此屏幕

我使用以下方法启动带有URL的Safari浏览器:

UIApplication.sharedApplication().openURL(NSURL(string: url)!)
然而,用户被重定向到登录屏幕,因为他还没有被授权使用该网站


我的问题是,如何将cookie或头传递给Safari并使用它们启动URL?

您不能直接这样做<代码>openURL仅此而已,不再需要

您需要在URL中传递所需的凭据。目标服务器可以从URL读取它们,然后在响应中设置所需的cookie

如果您实现了这一点,请确保它不会被滥用来设置任意cookie或执行会话固定攻击。安全实现这一点的一种方法是使用一次性标识符:

  • 在iOS应用程序中,使用有效的auth cookie与服务器联系,并请求服务器保存一段时间的一次性长随机密钥
  • 使用
    ?键=
  • 让服务器验证密钥是否匹配,并为用户设置cookies,然后删除密钥

  • 嘿,你有什么解决办法吗?我想你想要实现和这个链接中提到的一样