【问题标题】:Sharing a session between a WKWebView and Safari在 WKWebView 和 Safari 之间共享会话
【发布时间】:2021-04-21 15:08:49
【问题描述】:

我有一个 iOS 应用程序对 api 访问进行身份验证,我有一个请求将用户放入 safari,而不是 WKWebView,但仍然保持他们的身份验证。

是否可以在 iOS 应用和完整版 Safari 之间安全地共享会话?

我已经研究了 WKProcesspools,但我不确定它是否会完全做到。

【问题讨论】:

    标签: ios objective-c xcode mobile-safari


    【解决方案1】:

    不确定 WKProcesspools,但您可以使用查询参数共享会话。 格式化您的 weburl 以包含验证令牌作为查询参数。

    当您通过 API 验证用户时,您必须从响应中获取令牌。将此令牌作为查询参数传递到您的 url 并重定向到 Safari。

    URL - https://www.example.com/page1
    URL with token - https://www.example.com/page1?token=asdfv12324fvfropfc23as
    

    特别注意防止复制/粘贴令牌:

    创建令牌时,将 IP 地址或 MAC 地址作为 API 的参数传递,并根据这些地址检查请求是否来自同一地址。这将负责设备身份验证。

    【讨论】:

    • 我们确实自己提出了这种类型的解决方案,但基本上我们最终会这样做,所以我将其标记为已接受的答案,
    猜你喜欢
    • 2017-04-08
    • 1970-01-01
    • 2022-01-24
    • 2014-07-10
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    • 2012-06-28
    • 2012-03-27
    相关资源
    最近更新 更多