Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS w/本机Okta登录-在嵌入式WKWebView中打开链接_Ios_Swift_Single Sign On_Okta - Fatal编程技术网

iOS w/本机Okta登录-在嵌入式WKWebView中打开链接

iOS w/本机Okta登录-在嵌入式WKWebView中打开链接,ios,swift,single-sign-on,okta,Ios,Swift,Single Sign On,Okta,我有一个iOS应用程序,使用本机登录,基于 这很好用,我很满意 我需要在我的应用程序中打开一个嵌入式WKWebView,SSO是我的用户 url看起来像这样: https://{my okta org}.com/app/{some okta app id}/exkms5nzsh0tD0kO10h7/sso/saml?RelayState={some relay state} 然而,当我在我的web视图中启动它时,我被重定向到Okta登录页面。我认为这是真的,因为嵌入式视图没有经过身份验证的会话的

我有一个iOS应用程序,使用本机登录,基于

这很好用,我很满意

我需要在我的应用程序中打开一个嵌入式
WKWebView
,SSO是我的用户

url看起来像这样:

https://{my okta org}.com/app/{some okta app id}/exkms5nzsh0tD0kO10h7/sso/saml?RelayState={some relay state}

然而,当我在我的web视图中启动它时,我被重定向到Okta登录页面。我认为这是真的,因为嵌入式视图没有经过身份验证的会话的上下文


如何在不要求用户再次登录的情况下针对此webview设置会话?由于我使用了本机登录,我没有设置cookie,因此我怀疑我需要请求设置cookie,但我不确定在这种情况下所需的流程。

我建议不要将WKWebView用于SSO 1。不安全,使用javascript可以获得用户登录名和密码2。cookie不能在会话和Safari之间共享(你失去了所有的魔法)3.WKWebView在cookie同步方面存在问题,您需要手动管理您的cookie

iOS在webview中存在一些cookie问题我的用户名/密码未向webview公开。这是本机登录的一部分。我也不知道有JavaScript攻击可以访问iOS设备上的加密密钥链。您是否有e关于我如何使用OKTA实现这一点的建议?@TeddyK您需要手动管理您的cookie,在首次登录后保存它,然后在每次启动URL时加载它。我有一个本机登录,没有cookie集