我正在使用Swift和OAuthSwift pod来使用应用程序SFSafariViewController处理OAuth。这是登录的样子:
问题是,当我尝试使用此代码注销时:
@IBAction func signOutButtonPressed(_ sender: AnyObject) {
let svc = SFSafariViewController(url: URL(string: "https://squareup.com/logout")!)
self.present(svc, animated: true, completion: {
print("signed outttt")
appStore.dispatch(AppAction(type: .MerchantLogout()))
})
}
它再次打开浏览器并显示该页面。用户已成功注销(重置cookie等)但我希望浏览器关闭而不是再次显示登录表单。通过该表单登录不会调用我的OAuth回调。相反,它只是签署并将它们发送到方形仪表板。
使用应用内SFSafariViewController + OAuth注销用户的正确方法是什么?
答案 0 :(得分:0)
最后我最终这样做了:
@IBAction func signOutButtonPressed(_ sender: AnyObject) {
let svc = SFSafariViewController(url: URL(string: "https://squareup.com/logout")!)
self.present(svc, animated: true, completion: {
appStore.dispatch(AppAction(type: .MerchantLogout()))
self.dismiss(animated: false, completion: nil)
})
}