【问题标题】:Instagram API: how can I have multiple redirect_uris for a single app?Instagram API:如何为单个应用程序拥有多个 redirect_uris?
【发布时间】:2013-05-08 12:52:51
【问题描述】:

我对其他提供商的 OAuth 2 非常熟悉,但之前没有将它用于 Instagram。

像许多开发人员一样,我的应用可以在多个域中运行,例如:

 http://www.foo.com/oauth2callback
 https://www.foo.com/oauth2callback
 http://localhost:3000/oauth2callback
 https://localhost:3000/oauth2callback

Other OAuth 2 providers I have used, eg, Google, allow multiple entries in a redirect_uris parameter

但是Instagram only seems to allow a single Redirect URI parameter per registered app

我可以为单个 Instagram 应用程序设置多个重定向 URI,还是必须注册多个应用程序,每个应用程序具有不同的重定向 URI?

【问题讨论】:

    标签: oauth-2.0 instagram


    【解决方案1】:

    使用我创建的 Instagram 应用程序,我为每个要重定向到的地方创建了一个单独的应用程序,尽管我没有受到 ssl 的歧视。然后,我根据运行环境将 api 凭据加载到应用程序中。

    您必须这样做很痛苦,因为 Instagram 还限制您每个帐户只能注册 5 个应用程序。因此,能够注册多个重定向会很有用。但另一方面,对我来说,最好不要局限于可以创建的应用程序数量(我的 Twitter 应用程序比我记得创建的还要多!)。

    【讨论】:

    • 这真的很糟糕。我在某处读到,一种解决方案可能是在 redirect_uri 创建一个“代理”,然后重定向到正确的位置(感谢 Instagram 发回的查询参数)。但我不想这样做......每个其他 OAuth 提供者都允许多个重定向 URI......
    【解决方案2】:

    现在您在 Instagram 中注册/编辑客户时似乎可以设置多个重定向 URL

    【讨论】:

    【解决方案3】:

    我认为这是您在 Atari 中感受到的场景之一。

    无论如何,我发现这样做很有用:

    编辑您的主机文件(在基于 unix 的操作系统中:/etc/hosts)

    确保添加这样的一行:

    127.0.0.1 注册域名.com

    registeromain.com 是您在 instagram 中作为生产返回 uri 的域。

    通过这种方式,您的应用程序将返回 uri 到已注册的域名.com,这相当于您本地计算机中的 localhost,接受登录。

    顺便说一句:为什么?为什么?为什么?为什么是instagram,为什么你必须强制返回一个uri?有什么理由吗?

    【讨论】:

    • 你能澄清一下吗?
    • @kkomaz 现在清楚了吗?理想的情况是建立一个开发环境,其 API 密钥返回 uri 到本地主机,生产环境的 API 密钥返回 uri 到生产 url。但这是一个简单的解决方法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-27
    • 2011-03-19
    • 2019-04-21
    • 2014-05-29
    • 1970-01-01
    • 2019-02-23
    • 2014-08-18
    相关资源
    最近更新 更多