0

我使用SFAuthenticationSessionSSO 登录到login.microsoftonline.com. 它工作得很好,但是注销存在问题。SFAuthenticationSession不提供清除 cookie 的方法。因此,当我SFAuthenticationSession.start()再次调用时,我会获得带有身份验证令牌的先前回调 url,而不是允许用户提供新凭据。

作为一种解决方法,我login.microsoftonline.com/common/oauth2/logoutSFAuthenticationSession.start(). 它有效,但 UX 体验比糟糕还糟糕。

真的没有其他方法可以清除 cookieSFAuthenticationSession吗?会话不与 Safari 共享,因此打开 web 视图也不起作用。

ASWebAuthenticationSession而不是SFAuthenticationSession允许以某种方式清除cookies ?

我知道已经在 SO 上提出了非常相似的问题,但也许这个主题有一些更新。

4

1 回答 1

2

注销的唯一方法是调用login.microsoftonline.com/common/oauth2/logout或者如果您想在应用程序之间使用 sso,您可以使用 WKWebView,但如果您想在 Safari 和您的应用程序之间使用 sso,唯一的方法是 ASWebAuthenticationSession或 SFAuthenticationSession。ASWebAuthenticationSession 与 SFAuthenticationSession 相同,但它们添加了权限警报视图,当您需要注销时,用户将看到带有问题的警报视图:您要登录吗?希望苹果能解决

于 2018-11-07T15:52:16.977 回答