初学者程序员请原谅无知&解释将是非常好的:))
我已经尝试阅读某个OAuth 2.0服务的教程,但我不理解这个重定向URI ...在我的特定上下文中,假设我正在尝试构建一个使用OAuth 2.0的iPhone应用程序一些服务。我有一个生成的应用程序ID,但我需要提供某种重定向URI来生成API密钥。
这是一个我应该自己托管的网址吗?顾名思义,我认为重定向URL应该在某个地方“重定向”某人。我唯一的猜测是,这是用户登录服务后重定向到的URL。
然而,即使这个假设是正确的,我也不明白另一件事 - 在我将应用程序发送到浏览器以供用户登录后,我的应用程序如何再次打开?
答案 0 :(得分:185)
阅读本文:
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如何运作 - 在最终用户接受权限之后,Facebook必须调用“某些东西”才能回到应用程序,并且“某些东西”是重定向URI。此外,重定向URI应该与应用程序的初始入口点不同。
此难题的另一个关键点是您可以从提供给webview的网址启动您的应用。要做到这一点,我只是按照这里的指南:
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://"]];
在我的第二个应用程序中,我将“secondApp”(而不是“secondApp://”)注册为URL Scheme的名称,并将我的公司作为URL标识符。
答案 1 :(得分:8)
看看OAuth 2.0 playground.You将会对协议进行概述。它基本上是一个环境(就像任何应用程序一样),它向您展示协议中涉及的步骤。
答案 2 :(得分:7)
重定向的uri是用户在成功登录您的应用后重定向的位置。例如,要在Facebook中为您的应用获取访问令牌,您需要提交重定向的uri,这不仅是您在创建Facebook应用时提供的应用域。
答案 3 :(得分:2)
如果您使用的是Facebook SDK,则不需要打扰自己进入 在Facebook的应用管理页面上重定向URI的任何内容。只需设置一个 适用于iOS应用的网址计划。 您的应用的网址方案应为值" fbxxxxxxxxxxx"其中xxxxxxxxxxx是 您在Facebook上标识的应用ID。 要为iOS应用设置网址方案,请转到应用设置的信息标签 并添加URL类型。