12

在 iOS 11 上,Apple 引入了一种在 Web 和移动应用程序之间共享身份验证数据的新方法SFAuthenticationSession

SFAuthenticationSession向每个可能从未使用过我的网站的新用户显示提示以让他们同意,然后从中一无所获并要求他们登录,这将是一种糟糕的用户体验。

苹果方面的文档很空。这是我找到的唯一例子。

有没有办法在显示提示之前知道是否有可用的 cookie SFAuthenticationSession?或者,Associated Domains启用后,在使用我的域进行身份验证时,系统不应该显示提示?

4

1 回答 1

2

不可以。即使没有 cookie,用户也可以登录输入他的用户名/密码,然后点击网站上的“登录”/“进入”(例如:Facebook、Instagram)。

无法访问 cookie:

当网页呈现时,它会在一个单独的进程中运行,因此可以保证用户和 Web 服务应用程序无法访问用户的凭据。相反,应用程序会获得一个唯一的身份验证令牌。 官方文档

Instagram-OAuth 的工作示例:https ://github.com/dvdhpkns/SFAuthenticationSession-Instagram-Oauth


您添加的 GitHub 存储库是作者发布的,用于发送有关本地服务器 cookie 共享错误的错误报告(rdar://33418129。原始推文

Safari 和 SFAuthenticationSession 之间是否共享 cookie?@DVDHPKNS

它们应该是共享的,但我们现在有一些时间错误。请就您所看到的内容提交错误。@rmondello(苹果员工)

PS:自您的原始发布日期以来,他们向文档添加了更多信息。

于 2017-07-26T03:54:53.390 回答