从我的本机应用程序将 cookie 传递给 SFSafariViewController
Posted
技术标签:
【中文标题】从我的本机应用程序将 cookie 传递给 SFSafariViewController【英文标题】:Pass cookies to SFSafariViewController from my native app 【发布时间】:2019-06-04 16:58:57 【问题描述】:我需要从我的本地应用程序无缝登录到 SFSafariViewController 是可能的
我确实在我的应用程序中使用了 webview,但有些部分需要 SFSafariViewController。
【问题讨论】:
无法控制 SFSafari 中的 cookie 存储,这是安全的一部分。 SFSafari 与 Safari 有相同的 cookie 存储,苹果不希望开发者控制它。 【参考方案1】:无法传递cookie,但如果您控制后端,则可以进行无缝登录。您可以实现一个授权方案,在其中生成一个短期令牌,并将该令牌传递到您在 SFSafariViewController 中加载的 URL 参数中,以便后端使用它来启动会话。
-
app发出请求生成token,后端生成
应用使用令牌打开 SFSafariViewController
后端接受令牌,并返回一个cookie
Web 应用程序可以像登录一样继续运行
【讨论】:
我们可以反过来做吗?从 SFSafariViewController 到主应用? 是的,这也是可能的。您可以注册自定义 URL 方案并处理应用中的深层链接。如果 SFSafariViewController 将用户重定向到该链接,您可以在应用程序中处理它(使用您传递的任何额外参数)。见developer.apple.com/documentation/uikit/…以上是关于从我的本机应用程序将 cookie 传递给 SFSafariViewController的主要内容,如果未能解决你的问题,请参考以下文章
如何将 cookie 从我的 ios 应用程序共享到移动 safari?
将字符串从我的应用程序传递到 Apple Maps 以便它可以搜索