【问题标题】:What's a redirect URI? how does it apply to iOS app for OAuth2.0?什么是重定向 URI?它如何适用于 OAuth2.0 的 iOS 应用程序?
【发布时间】:2012-10-28 04:18:56
【问题描述】:

这里是初学者,请原谅无知&解释会非常好:)

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

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

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

【问题讨论】:

    标签: ios authentication uri oauth-2.0


    【解决方案1】:

    阅读:

    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 是应用的回调入口点。想想 Facebook 的 OAuth 是如何工作的——在最终用户接受权限后,Facebook 必须调用“某物”才能返回应用程序,而“某物”就是重定向 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://"]];
    

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

    【讨论】:

    • 那么,您确实需要在redirect_uri 中设置您自己的网站,对吗?
    • @huggie 在 iOS 应用程序的上下文中 - 不,幸运的是,您不需要自己的网站。您只需要意识到您的 iOS 应用程序可以从提供给 Web 浏览器的 URL 打开。阅读:iosdevelopertips.com/cocoa/…
    • @Nazerke 它可能已经为您添加了“://”。所以你只需要方案名称
    • 有人请修复这个答案 -- architecture-soa-bpm-eai.blogspot.com.br/2012/08/… 不再存在
    • 嗨@DavidT。很好的答案。他们只关心,希望你能救我,是如何为强制使用http://的URI配置方案,例如[YouTube, Instagram, LinkedIn]?例如,我尝试注册 http://localhost/oauth2callback 重定向,以及 http、localhost 或 oauth2callback 方案,但它们都不起作用
    【解决方案2】:

    看看 OAuth 2.0 Playground。您将了解协议的概述。它基本上是一个环境(与任何应用程序一样),向您展示协议中涉及的步骤。

    https://developers.google.com/oauthplayground/

    【讨论】:

      【解决方案3】:

      redirected uri 是用户在成功登录到您的应用后将被重定向的位置。例如,要在 facebook 中获取您的应用程序的访问令牌,您需要提交重定向的 uri,这只是您在创建 facebook 应用程序时提供的应用程序域。

      【讨论】:

        【解决方案4】:

        如果您使用的是 Facebook SDK,则无需费心进入 在 facebook 的应用程序管理页面上重定向 URI 的任何内容。只需设置一个 您的 iOS 应用程序的 URL 方案。 您的应用程序的 URL 方案应该是一个值“fbxxxxxxxxxxx”,其中 xxxxxxxxxxx 是 您在 Facebook 上标识的应用程序 ID。 要为您的 iOS 应用设置 URL 方案,请转到应用设置的信息选项卡 并添加 URL 类型。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-02-26
          • 2019-11-10
          • 2015-09-13
          • 2020-09-28
          • 2013-05-21
          • 2017-06-29
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多