在SFSafariViewController描述中,它写了
您将使用SFAuthenticationSession的两种情况是:
使用身份验证协议登录第三方的服务 (例如OAuth)。此选项适用于社交网络应用程序。
为应用程序提供单点登录(SSO)体验。这个 选项适用于具有许多应用程序的企业公司 安装在同一设备上。
我想实现第二种方案。我有不同的应用程序,并使用SFSafariViewController实现SSO。问题是在我的测试中,cookie不是在不同的应用程序之间共享的。我在一个应用程序中登录,然后当我尝试使用相同的登录URL登录另一个应用程序时,我必须再次写入我的凭据,即使会话在第一个应用程序中仍处于活动状态。这是正常的行为吗?如果我的应用程序之间没有共享cookie,我应该如何实施SSO体验?
答案 0 :(得分:1)
在iOS 11中,SFSafariViewController不再共享cookie。您可能应该考虑使用SFAuthenticationSession代替OAuth SSO方案。