SFAuthenticationSession
全部标签 我将SFAuthenticationSession与SSO和OAuth一起使用。当调用start()方法时,iOS会弹出一个同意对话框,要求用户允许应用程序使用OAuth提供程序。每次启动身份验证session时都会出现同意弹出窗口。这是设计使然吗?它似乎应该出现一次,就像其他同意对话框一样。 最佳答案 这是设计使然。到目前为止,在使用SFAuthenticationSession时,您确实无法避免出现同意对话框,它的工作方式与Apple希望的一样。查看Apple自己关于SFAuthenticationSession的文档here
在SFSafariViewController描述是这样写的您将使用SFAuthenticationSession的两种情况是:Loggingintoathirdparty'sserviceusinganauthenticationprotocol(e.g.OAuth).Thisoptionworkswellforsocialnetworkapplications.Providingasinglesign-on(SSO)experienceforapplications.Thisoptionworkswellforenterprisecompaniesthathavemanyappli
tl;博士阅读最后一段。我正在使用AppAuth(https://github.com/openid/AppAuth-iOS)库来处理基于OpenID的用户身份验证,我想通过我的应用程序为其提供SSO体验。我的应用程序的部署目标是iOS11,这意味着AppAuth内部使用SFAuthenticationSession。我正在使用授权流程,这意味着用户会通过SFAuthenticationSession看到一个基于Web的登录页面。当用户填写并提交凭据时,SFAuthenticationSession调用带有url的完成(如果成功),从中可以解析授权code。使用授权code通过URLS
有没有人成功地使用addUIInterruptionMonitor来清除由start()在运行XCUITest时SFAuthenticationSession产生的警报?我无法让它在Xcode9.1/iOS11.1.1(模拟器或设备)上运行。standardadvice(设置处理程序并随后在警报出现之前与设备交互)没有帮助。测试记录器说app.alerts.firstMatch.buttons["Continue"]).tap()应该可以解决问题,但这也不起作用。This来自另一个SO答案的技术有时有效,但在CI上并不一致。所以我想知道“官方”解决方案是否对任何人都有效。
我正在开发两个iOS应用程序,它们共享相同的钥匙串(keychain)token,当用户通过在WebView中输入用户名和密码登录任一应用程序时,它们会收到这些token。保存在钥匙串(keychain)中的token有几个小时/几天的时间限制-当用户使用应用程序并发出请求/输入在浏览器中打开的项目时,它们会被刷新。在iOS11发布之前,应用程序中的WebView是一个SFSafariViewController实例,它非常方便,因为它在应用程序之间共享cookie,一旦用户在一个应用程序的浏览器中登录,他就会自动登录其他应用程序,从而实现SSO体验。在iOS11中,SFSafariV
我正在使用SFAuthenticationSession通过OAuth2进行身份验证。用户必须同意的同意显示以下消息作为警告:"[Xcode-Project-Name]"WantstoUse"[Server-URL]"toSignIn.Thisallowstheappandwebsitetoshareinformationaboutyou.为什么没有提及应用显示名称?会不会是AppStore提交后的App名称? 最佳答案 SFAuthenticationSession也使用AppStore应用程序的产品名称。它在iOS12中已弃用,
在iOS11上,Apple引入了一种通过SFAuthenticationSession在Web和移动应用程序之间共享身份验证数据的新方法。向每个新用户(可能从未使用过我的网站)显示SFAuthenticationSession提示让他们同意然后什么也得不到并询问他们将是糟糕的用户体验登录。documentation苹果方面很空。这是唯一的example我找到了。有没有办法知道在显示SFAuthenticationSession提示符之前是否有可用的cookie?或者,在启用AssociatedDomains的情况下,当使用我的域进行身份验证时,系统不应显示提示?
我计划将应用程序从使用SFSafariViewController的旧OAuth流程切换到使用iOS11的SFAuthenticationSession的新流程。登录不是问题,转移到新API花了我几分钟时间来实现。但是注销让我感到困惑。如何?我在文档的任何地方都找不到任何提及要提供注销选项的内容。使用旧的SFSafariViewController使cookie无效?不,它们不再与SFAuthenticationSession共享。一旦我重新启动身份验证session,用户就会自动登录并且没有出路。那么如何启用注销呢?还是我只是忽略了一些非常明显的事情?更新:我找到了一种技术意义上的“