ios - 带有本机 Okta 登录的 iOS - 在嵌入式 WKWebView 中打开链接
问题描述
我有一个 iOS 应用程序,使用本机登录,基于自定义示例。
这很完美,我很满意。
我需要WKWebView
在我的应用程序中打开嵌入的,即 SSO 的用户。
网址看起来像这样:
https://{my-okta-org}.com/app/{some-okta-app-id}/exkms5nzsh0tD0kO10h7/sso/saml?RelayState={some-relay-state}
但是,当我在 Web 视图中启动它时,我被重定向到 Okta 登录页面。我真的希望这是因为嵌入式视图没有经过身份验证的会话的上下文。
如何在不要求用户再次登录的情况下针对此 web 视图设置我的会话?由于我使用了本机登录,我没有设置 cookie,所以我怀疑我需要请求一个,但不确定在这种情况下所需的流程。
解决方案
我建议不要将 WKWebView 用于 SSO 1.不安全,使用 javascript 您可以获得用户登录名和密码 2.Cookies 在您的会话和 Safari 之间不共享(您正在失去所有 SSO 魔法) 3.WKWebView 与 cookie 同步Apple存在问题线程,您需要手动管理您的 cookie
推荐阅读
- python-3.x - ModuleNotFoundError:没有名为“celery.task.sets”的模块
- reactjs - 请求返回 400 但未到达在 localhost 上运行的服务器(不同浏览器的行为不同)
- sap-cloud-sdk - 通过 SAP Cloud SDK VDM 对业务合作伙伴进行深度插入对 to_Customer 不起作用
- python - 使用 WSO2 保护 Google Cloud Functions
- android - 在两面板的fragment Activity中,如何让一个fragment接管全屏?
- firebase - 使用具有云功能的计数器时,防止超过 1 秒写入 Firestore 文档
- django - 将 HTML 代码作为字符串变量传递给模板以生成 PDF
- api - 如何在组内检索 gitlab 项目的详细信息(即标签、提交)
- python - 如何将 xpath 元素转换为 XML?
- c# - .Net Core 2.2 web.config 在 Azure DevOps 中发布时不会转换 LAUNCHER_PATH 或 LAUNCHER_ARGS