iOS OAuth 1.0 requestToken 用户授权 : how do I detect when a UIWebView is done with the authorizing?

标签 ios oauth uiwebview

我正在通过 iPhone 应用程序上的 OAuth 1.0 流程工作。

我有请求 token 。我使用正确的 URL 选择 UIWebView 来执行 requestToken 的用户授权,该操作成功执行。但是,完成此步骤后,用户必须手动点击“返回”才能返回应用程序。然后用户点击一个单独的按钮来执行 getAccessToken。 (这显然是正在进行的工作)。

执行 requestToken 的用户授权后如何自动返回?在 UIWebView 上,当用户成功登录时,他们会获得一个验证权限的页面,并且用户单击“确定”,我希望应用程序自动返回并在完成后继续获取 accessToken。

我是新手,所以可能解释得不太好。 FWIW,我正在使用自鸣得意的 API。提前感谢您的帮助。

最佳答案

我不是 iOS 编码员,但一旦请求 token 被最终用户授权,服务提供商应该重定向到您的回调。必须有一种方法可以让您在 UIWebView 中“聆听”这一点。通过接收看起来像这样的重定向 HTTP 响应:

301 Moved Permanently
Location: URI?oauth_token=BLAHBLAH&oauth_verifier=BLAHBLAH

如果您可以拦截该重定向,您可能会阻碍 UIWebView 实际完成它,而只是抓取 Location header 。

或者,您至少应该能够在重定向完成并且您实际上在回调页面上时进行接听。那么这将是一个从不可见地址栏中抓取包含 token 和验证器的 URL 的简单案例。如果所有其他方法都失败了,您可以让您的回调实际在页面上打印 token 和 secret 并刮掉它。

拥有验证者后,您应该能够在完全不涉及最终用户的情况下获得访问 token 。

关于iOS OAuth 1.0 requestToken 用户授权 : how do I detect when a UIWebView is done with the authorizing?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10100069/

相关文章:

ssl - 基于 OAuth token 的身份验证是绑定(bind)到物理机器还是绑定(bind)到私钥?

ios - 我的应用程序正在请求 “Have offline access” 的权限,为什么?

python - Django 使用 tweepy oauth 出现属性错误

iphone - uiwebview(iphone)上的自定义按钮

iphone - 在 UIWebView 中查看下载的图像

objective-c - NSString 到静态 int?

iphone - iPad 中 .NET Web 服务 XML 的动态控制显示

ios - 如何使用 PFUser 更改初始 View Controller ?

iOS录制音频错误

ios - 基本的 iOS 浏览器代码