什么是重定向 URI? 它如何应用到 OAuth2.0的 iOS 应用程序中?

初级程序员,请原谅我的无知和解释:)

我尝试阅读某个 OAuth 2.0服务的教程,但是我不理解这个重定向 URI... 在我的特定上下文中,让我们假设我正在尝试构建一个使用 OAuth 2.0的 iPhone 应用程序。我有一个生成的 AppID,但是我需要提供某种重定向 URI 来生成 API 密钥。

这是一个网址,我应该主机的地方自己? ?顾名思义,我认为重定向 URL 应该在某个地方“重定向”某个人。我唯一的猜测是,这是用户登录到服务后被重定向到的 URL。

然而,即使这个假设是正确的,我还有一件事不明白——在我把应用程序发送到浏览器进行用户登录之后,如何才能再次打开它们?

215244 次浏览

看看这个:

Http://www.quora.com/oauth-2-0/how-does-oauth-2-0-work

或者一个更简单但快速的解释:

Http://agileanswer.blogspot.se/2012/08/oauth-20-for-my-ninth-grader.html

重定向 URI 是应用程序的回调入口点。想想 OAuth for Facebook 是如何工作的——在最终用户接受权限之后,Facebook 必须调用“ something”才能返回到应用程序,而“ something”就是重定向 URI。此外,重定向 URI 应该不同于应用程序的初始入口点。

这个难题的另一个关键点是 你可以从一个提供给 webview 的 URL 启动你的应用程序。为了做到这一点,我只是按照这里的指南:

Http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html

还有

Http://inchoo.net/mobile-development/iphone-development/launching-application-via-url-scheme/

注意: 在最后的2个链接中,“ http://”在打开移动 Safari 时起作用,但“ tel://”在模拟器中不起作用

在第一个应用程序中,我调用

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"secondApp://"]];

在我的第二个应用程序,我注册“第二个应用程序”(而不是“第二个应用程序://”)作为 URL 方案的名称,我的公司作为 URL 标识符。

Redirect uri 是用户成功登录到应用程序后被重定向的位置。例如,为了在 facebook 上获得你的应用的访问令牌,你需要提交重定向 uri,它不仅仅是你在创建你的 facebook 应用时提供的应用域。

如果你正在使用 Facebook SDK,你不需要麻烦自己进入 在 facebook 的应用管理页面上重定向 URI IOS 应用程序的 URL 方案。 应用程序的 URL 模式应该是一个值“ fbxxxxxxxxxx”,其中 xxxxxxxxx 是 你的应用程序 ID 在 Facebook 上被识别出来了。 要为 iOS 应用程序设置 URL 模式,请转到应用程序设置的 info 选项卡 并添加 URL 类型。

看看 OAuth 2.0游乐场。您将获得协议的概述。它基本上是一个环境(像任何应用程序一样) ,向您显示协议中涉及的步骤。

Https://developers.google.com/oauthplayground/