ios - 如何在 WKWebView 中支持授权 token ?

标签 ios webview oauth-2.0 wkwebview

我有 native iOS 应用程序,应用程序的流程之一应该使用 WebView 完成。从应用程序的 native 部分,用户可以导航到 WebView 部分。而且,不知何故,网页应该识别用户。我在应用程序中存储了授权 token ,当然我可以在 WKWebView 的 header 中传递该 token 。其他东西将在网络中处理(路由等)。但这样做是一种好的和安全的方法吗?如何在关注token的应用中轻松集成WebView?

最佳答案

这里有几个选项:

  1. 根据 this thread,使用 header 似乎有问题但希望你能让它发挥作用。如果 token 在 web View 中过期,感觉这会有可靠性问题,因此您需要对其进行管理。

  2. 简单选项:打开系统浏览器 - Safari 或 Safari View Controller 。不过,用户可能必须重新登录,您的利益相关者可能不喜欢这样。

  3. 更复杂的选项:使用 Javascript API 将 token 从移动用户界面传递到网络用户界面。这将为您提供完全控制权,网络应用程序可以回调移动应用程序以刷新其 token 。如果谨慎使用,它可能是最佳可用性选项。不过,它需要在 Web 和移动 UI 中进行棘手的基础工作。

安全

如果两者都是同一逻辑应用程序的一部分并且访问同一级别的数据,则将 token 从移动用户界面传递到 Web 用户界面是很自然的。在这种情况下,选项 1 或 3 会起作用。

如果应用程序具有非常不同的安全级别(例如,网络应用程序现在获得比通常获得的特权 token 高得多的特权 token ),那么我不会传递 token ,而是使用选项 2。

更多详情

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

关于ios - 如何在 WKWebView 中支持授权 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66692562/

相关文章:

ios - 尝试从自定义单元格中恢复 View

visual-studio - 如何在Visual Studio工具栏中添加WebView2控件?

angular - 如何在 Angular 8 中使用 angular-oauth2-oidc 实现身份验证代码流

oauth-2.0 - OAuth2 : using PKCE instead of client_secret

azure - 连接到 Azure B2C 时如何调试 oauth2_proxy?

ios - iPhone 崩溃、ASIHTTPRequest 或 NSURL 相关

ios - 为什么滑动手势识别器会 swift 出错?

ios - 如何自动选择 UITableview Cell?

android - 如何修复 Android 手机 webview 的旋转?

android - 帮助理解为什么 webview 布局不会加载页面