在显示SFAuthenticationSession提示之前,有没有办法知道是否有可用的cookie

时间:2017-07-21 20:05:47

标签: ios authentication oauth ios11 sfauthenticationsession

在iOS 11上,Apple推出了一种在网络和移动应用程序之间使用SFAuthenticationSession分享身份验证数据的新方式。

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

Apple端的documentation非常空洞。这是我找到的唯一example

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

1 个答案:

答案 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:自原始发布日期以来,他们向文档中添加了更多信息。