【发布时间】:2021-04-21 15:08:49
【问题描述】:
我有一个 iOS 应用程序对 api 访问进行身份验证,我有一个请求将用户放入 safari,而不是 WKWebView,但仍然保持他们的身份验证。
是否可以在 iOS 应用和完整版 Safari 之间安全地共享会话?
我已经研究了 WKProcesspools,但我不确定它是否会完全做到。
【问题讨论】:
标签: ios objective-c xcode mobile-safari
我有一个 iOS 应用程序对 api 访问进行身份验证,我有一个请求将用户放入 safari,而不是 WKWebView,但仍然保持他们的身份验证。
是否可以在 iOS 应用和完整版 Safari 之间安全地共享会话?
我已经研究了 WKProcesspools,但我不确定它是否会完全做到。
【问题讨论】:
标签: ios objective-c xcode mobile-safari
不确定 WKProcesspools,但您可以使用查询参数共享会话。 格式化您的 weburl 以包含验证令牌作为查询参数。
当您通过 API 验证用户时,您必须从响应中获取令牌。将此令牌作为查询参数传递到您的 url 并重定向到 Safari。
URL - https://www.example.com/page1
URL with token - https://www.example.com/page1?token=asdfv12324fvfropfc23as
特别注意防止复制/粘贴令牌:
创建令牌时,将 IP 地址或 MAC 地址作为 API 的参数传递,并根据这些地址检查请求是否来自同一地址。这将负责设备身份验证。
【讨论】: