小编典典

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

all

这里的初学者程序员,请原谅无知和解释会非常好:)

我已尝试阅读某个 OAuth 2.0 服务的教程,但我不理解此重定向 URI … . 我有一个生成的 App ID,但我需要提供某种重定向 URI
来生成 API 密钥。

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

但是,即使该假设是正确的,我也不明白另一件事 - 在我将应用程序发送到浏览器以供用户登录后,如何再次打开它们?


阅读 64

收藏
2022-07-27

共1个答案

小编典典

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

这个难题的另一个关键点是, 您可以从提供给 webview 的 URL 启动您的应用程序 。为此,我只是按照此处的指南进行操作:

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

http://incho.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
标识符。

2022-07-27