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

Is there a way to know if there is a cookie available before showing the SFAuthenticationSession prompt

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

向每个新用户(可能从未使用过我的网站)显示 SFAuthenticationSession 提示让他们同意然后什么都得不到并要求他们这样做将是一种糟糕的用户体验登录。

我找到的documentation is pretty empty on Apple side. This is the only example

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

没有。即使没有 cookie,用户也可以登录并输入他的 username/password,然后在网站(例如:Facebook、Instagram)上单击 "Login"/"Enter"。

将不会启用对 cookie 的访问:

When the webpage is presented, it runs in a separate process, so the user and web service are guaranteed that the app has no way to gain access to the user’s credentials. Instead, the app gets a unique authentication token. Official docs

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


您添加的 GitHub 存储库由作者 post 编辑,用于发送有关本地服务器 cookie 共享错误的错误报告 (rdar://33418129.Original tweet)

Are cookies shared between Safari and SFAuthenticationSession? @DVDHPKNS

They’re supposed to be shared, but we have some timing bugs right now. Please do file bugs about what you’re seeing. @rmondello (Apple employee)

P.S:自您最初的 post 日期以来,他们向文档添加了更多信息。