- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我计划将应用程序从使用 SFSafariViewController
的旧 OAuth 流程切换到使用 iOS 11 的 SFAuthenticationSession
的新流程。登录不是问题,转移到新 API 花了我几分钟时间来实现。但是注销让我感到困惑。
如何?
我在文档的任何地方都找不到任何提及要提供注销选项的内容。使用旧的 SFSafariViewController
使 cookie 无效?不,它们不再与 SFAuthenticationSession
共享。一旦我重新启动身份验证 session ,用户就会自动登录并且没有出路。那么如何启用注销呢?还是我只是忽略了一些非常明显的事情?
更新:我找到了一种技术意义上的“有效方式”,但它对用户来说太疯狂了:在清除 cookie 的注销页面上打开一个新的 SFAuthenticationSession。但这意味着当注销时,警报 View 会再次询问用户是否愿意通过该服务登录。如果选择yes(“登录”),将打开 cookie 清除注销页面,用户必须手动关闭 View ,这可以被完成处理程序捕获,我们知道我们可以打开再次登录 View .. 显示登录提示以注销?我真的不喜欢这个解决方案。
有什么想法吗?我是否仍然忽略了一个完全显而易见的解决方案?
更新 2:由于到目前为止还没有人对此问题有任何线索,这可能不是一件容易的事。我已经通过他们的报告工具向 Apple 提出了一个建议,要么阐明如何处理这个问题,要么在不可用的情况下将其构建到 API 中。如果我得到答案,我会发布。
更新 3:在进一步思考这个问题后,我们找到了另一种可能的(尽管也没有吸引力)解决方案如果您可以影响 OAuth 提供程序的登录页面:使 cookie 的生命周期非常短。然后可以在不自动登录的情况下打开登录页面。然而,这会破坏在应用程序之间共享登录 session 的全部目的。您需要能够影响登录页面。
更新 4:由于 iOS 12 SFAuthenticationSession
已弃用并被 ASWebAuthenticationSession
取代。但是,ASWebAuthenticationSession
不会更改有关注销的任何内容。还是不行。和以前一样的问题。
最佳答案
对于 ASWebAuthenticationSession,在调用 .start() 之前将 .prefersEphemeralWebBrowserSession 设置为 true 将强制用户在浏览器 session 中输入凭据。虽然与注销不同,但这将允许新用户在启动下一个 session 时使用不同的凭据登录。
关于ios - SFAuthenticationSession/ASWebAuthenticationSession 和注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47207914/
如何更改使用 SFAuthenticationSession 时显示的 SafariVC 上的tintColor 和 barTintColor? 我尝试更改 UINavigationBar 、 UIT
我使用 SFAuthenticationSession 通过 SSO 登录到 login.microsoftonline.com。它工作得很好,但是注销有问题。 SFAuthenticationSes
我计划将应用程序从使用 SFSafariViewController 的旧 OAuth 流程切换到使用 iOS 11 的 SFAuthenticationSession 的新流程。登录不是问题,转移到
我正在使用 AppAuth-iOS用于单点登录。在 ios 11 模拟器上一切正常,而 SSO(cookies 共享)在运行 11.0.0、11.0.1、11.0.2 的真实设备上不起作用。那么 SF
在 iOS 11 上,Apple 引入了一种通过 SFAuthenticationSession 在 Web 和移动应用程序之间共享身份验证数据的新方法。 向每个新用户(可能从未使用过我的网站)显示
我一直在使用 p2-oauth2库之前能够通过 safariViewController 登录,但自从最新的 iOS 版本 (11.3) 以来,我发现当用户尝试登录时我的应用程序一直崩溃。我没有我没有
我正在使用 SFAuthenticationSession 通过 OAuth2 进行身份验证。 用户必须同意的同意显示以下消息作为警告: "[Xcode-Project-Name]" Wants to
我们的用户体验团队不喜欢每次打开登录页面时都会弹出同意书。此外,我们希望自定义使用 ASWebAuthenticationSession/SFAuthenticationSession 实现 OAut
我正在使用 AppAuth-iOS 进行 AD B2C 登录,AppAuth-iOS 使用 SFAuthenticationSession 在 iOS 11+ 上发出身份验证请求。我假设当我调用 SF
tl;博士阅读最后一段。 我正在使用 AppAuth ( https://github.com/openid/AppAuth-iOS ) 库来处理基于 OpenID 的用户身份验证,我想通过我的应用程
有没有人成功地使用 addUIInterruptionMonitor 来清除由 start() 在运行 XCUITest 时 SFAuthenticationSession 产生的警报? 我无法让它在
我正在开发两个 iOS 应用程序,它们共享相同的钥匙串(keychain) token ,当用户通过在 Web View 中输入用户名和密码登录任一应用程序时,它们会收到这些 token 。保存在钥匙
我是一名优秀的程序员,十分优秀!