如何在WKWebView中支持授权令牌



我有本机iOS应用程序,其中一个应用程序流应该使用WebView完成。从应用程序的本机部分,用户可以导航到WebView部分。而且,不知何故,网页应该识别用户。我在应用程序中存储了授权令牌,当然我可以在WKWebView的标头中传递该令牌。其他内容将在网络中处理(路由等(。但这是一种好的、安全的方式吗?如何在关心代币的应用程序中轻松集成WebView?

这里有几个选项:

  1. 根据这个线程,使用头似乎有问题,但希望你能让它发挥作用。如果令牌在web视图中过期,感觉会出现可靠性问题,所以您需要对此进行管理。

  2. 简单选项:打开系统浏览器-Safari或Safari视图控制器。用户可能需要再次登录,而您的利益相关者可能不喜欢。

  3. 更复杂的选项:使用Javascript API将令牌从移动UI传递到web UI。这将赋予你完全的控制权,网络应用程序可以回调移动应用程序以刷新其令牌。如果谨慎使用,它可能是最好的可用性选项。不过,这需要在网络和移动UI中进行棘手的基础工作。

安全

如果两者都是同一逻辑应用程序的一部分并访问相同级别的数据,那么将令牌从Mobile UI传递到Web UI是很自然的。在这种情况下,选项1或3将起作用。

如果这些应用程序的安全级别非常不同(例如,网络应用程序现在获得的特权令牌比平时高得多(,那么我不会传递令牌,而是使用选项2。

更多详细信息

不久前,我写了一篇关于注意事项的非常详细的博客文章,还有一个代码示例可以运行:

  • 博客文章
  • Web UI中的移动桥代码
  • 移动UI中的Javascript桥接代码

最新更新