如何从WKWebView的服务器获取响应

时间:2019-07-02 14:13:26

标签: ios swift webview webkit

我正在尝试通过隐式流程(https://vk.com/dev/implicit_flow_user)进行授权,问题是我不知道在授权用户后如何从服务器获取访问令牌

    let config = WKWebViewConfiguration()
    logInWebView = WKWebView(frame: .null, configuration: config)
    logInWebView.uiDelegate = self
    logInWebView.navigationDelegate = self
    view = logInWebView
    let url = URL(string: "https://oauth.vk.com/authorize?client_id=#######&display=mobile&redirect_uri=https://oauth.vk.com/blank.html&scope=audio&response_type=token")
    let req = URLRequest(url: url!)
    logInWebView.load(req)

1 个答案:

答案 0 :(得分:0)

成功授权后,用户浏览器将重定向到redirect_uri,其中包含您的访问令牌。可以从那里获取它。

要实现这一目标

  1. 使用WKNavigationDelegate
  2. 对您的VC进行子类化
  3. 实施didReceiveServerRedirectForProvisionalNavigation
  4. 获取webview.url并拆分其URL组件。
  5. 其中之一就是您的访问令牌