什么是redirectURI? 它如何适用于OAuth2.0的iOS应用程序?
初学者程序员在这里,请原谅无知和解释将是非常好的:)
我已经尝试阅读某个OAuth 2.0服务的教程,但我不明白这个redirectURI …在我的特定上下文中,假设我正在尝试构build一个使用OAuth 2.0进行某些服务的iPhone应用程序。 我有一个生成的应用程序ID,但我需要提供某种types的redirectURI来生成API密钥。
这是一个我应该在什么地方托pipe的URL? 顾名思义,我认为redirecturl应该是“redirect”某处的某个人。 我唯一的猜测是这是用户login到服务后redirect到的URL。
然而,即使这个假设是正确的,我不明白另一件事 – 我的应用程序如何将它们发送到浏览器以供用户login后再次打开?
读这个:
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
redirectURI是应用程序的callback入口点。 想想Facebook的OAuth是如何工作的 – 在最终用户接受权限之后,Facebook必须调用“某些东西”才能回到应用程序,而“something”是redirectURI。 此外,redirectURI应该与应用的初始入口点不同。
这个难题的另一个关键点是, 你可以从一个给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://"]];
在我的第二个应用程序中,我注册了“secondApp”(而不是“secondApp://”)作为URL Scheme的名称,我的公司作为URL标识符。
redirect的uri是成功login到应用程序后用户将被redirect的位置。 例如,要在Facebook中获取访问令牌,您需要redirect的URI,这不是您在创buildFacebook应用程序时提供的应用程序域。
看看OAuth 2.0游乐场。你会得到一个协议的概述。它基本上是一个环境(像任何应用程序),向您展示了协议涉及的步骤。
如果您正在使用Facebook SDK,则无需在Facebook的应用pipe理页面上自行input任何redirectURI。 只需为您的iOS应用程序设置一个URLscheme。 您的应用程序的URLscheme应该是一个值“fbxxxxxxxxxxx”,其中xxxxxxxxxxx是您在Facebook上标识的应用程序ID。 要为iOS应用设置urlscheme,请转到应用设置的“信息”标签,然后添加urltypes。
- 在GitHub API上使用带有用户名和密码的Invoke-WebRequest进行基本authentication
- 如何在SQL Server中将Active Directory用户组添加为login名
- 受欢迎的应用程序如何从移动应用程序向其服务器validation用户请求?
- 如何将SSL添加到使用httplistener的.net应用程序 – 它将不会在IIS上运行
- 启用2FA后,Git身份validation失败
- 如何configuration在Django注销后redirect的位置?
- OpenID身份validation如何工作?
- 什么是摘要authentication?
- 使用Selenium处理浏览器身份validation