Square API + OAuth:如何退出iPad应用程序?

时间:2016-11-22 19:26:12

标签: ios swift oauth square-connect

我正在使用Swift和OAuthSwift pod来使用应用程序SFSafariViewController处理OAuth。这是登录的样子:

enter image description here

问题是,当我尝试使用此代码注销时:

  @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注销用户的正确方法是什么?

1 个答案:

答案 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)
    })
  }