我正在尝试通过隐式流程 ( https://vk.com/dev/implicit_flow_user ) 进行授权,问题是我不知道如何在授权用户后从服务器获取访问 token
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)
最佳答案
成功授权后,用户浏览器将重定向到包含您的访问 token 的redirect_uri。可以从那里检索它。
为了实现这个目标
- 使用
WKNavigationDelegate
子类化您的 VC - 实现
didReceiveServerRedirectForProvisionalNavigation
- 获取
webview.url
并拆分其 URL 组件。 - 其中一个组成部分是您的访问 token
关于ios - 如何从 WKWebView 获取服务器响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56854455/