iOS 应用上的 OAuth2 加载 uiwebview 以让用户接受连接
Posted
技术标签:
【中文标题】iOS 应用上的 OAuth2 加载 uiwebview 以让用户接受连接【英文标题】:OAuth2 on iOS app load an uiwebview to let the user accept the connection 【发布时间】:2013-06-30 10:02:11 【问题描述】:(使用他的谷歌帐户登录后)。 我想加载一个 uiwebview 以提示用户接受连接...我必须在用户允许应用程序时拦截,然后关闭 webview 并获取作为重定向 url 中的参数返回的代码。
我该怎么办? 谢谢
【问题讨论】:
【参考方案1】:我已经编写了一个库来执行此操作(在我自己的几个应用程序中使用它)。你可以在github上找到:LHOAuth2LoginViewController
但是,我认为我的库不能直接使用 Google API,因为我记得它们不支持 response_type=token
,但您必须使用 response_type=code
。此外,OAuth2 rfc6749 还存在一些其他差异。
但至少您应该了解如何拦截重定向并关闭 web 视图。您可以在-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
UIWebViewDelegate方法中查看重定向url并调用dismissViewControllerAnimated:YES completion:^()
【讨论】:
以上是关于iOS 应用上的 OAuth2 加载 uiwebview 以让用户接受连接的主要内容,如果未能解决你的问题,请参考以下文章
WebViewJavascriptBridge 进行js 与native通信。
iOS 应用程序上的无效重定向 URI Linkedin API