在iOS 11上,Apple推出了一种在网络和移动应用程序之间使用SFAuthenticationSession
分享身份验证数据的新方式。
向每个新用户(可能从未使用过我的网站)显示SFAuthenticationSession
提示,让他们同意,然后从中获取任何内容并要求他们登录,这将是一个糟糕的用户体验。
Apple端的documentation非常空洞。这是我找到的唯一example。
有没有办法知道在显示SFAuthenticationSession
提示之前是否有可用的Cookie?或者,如果启用Associated Domains
,在使用我的域进行身份验证时,系统不应显示提示符?
答案 0 :(得分:2)
没有。即使没有cookie,用户也可以登录输入他的用户名/密码,然后点击网站上的“登录”/“进入”(例如:Facebook,Instagram)。
不会启用访问Cookie:
当显示网页时,它会在单独的进程中运行,因此用户和Web服务可以保证应用无法访问用户的凭据。相反,应用程序获取唯一的身份验证令牌。 Official docs
Instagram-OAuth的工作示例:https://github.com/dvdhpkns/SFAuthenticationSession-Instagram-Oauth
您添加的GitHub仓库由作者发布,用于发送有关本地服务器cookie共享错误的错误报告(rdar:// 33418129。Original tweet)
Safari和SFAuthenticationSession之间是否共享Cookie? @DVDHPKNS
他们应该被分享,但我们现在有一些时间错误。请提交有关您所看到的内容的错误。 @rmondello(Apple员工)
P.S:自原始发布日期以来,他们向文档中添加了更多信息。