2013-05-08 97 views
8

我對其他提供商的OAuth 2非常熟悉,但之前並未將其用於Instagram。Instagram API:如何爲單個應用程序提供多個redirect_uris?

像許多開發人員,我有多個域名,其中我的應用程序可以運行,比如:

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?

回答

4

看起來現在你可以設置多個重定向URL(S)在Instagram的,當你註冊/編輯客戶:

screenshot

+0

感謝您保持堆棧最新! – mikemaccana 2015-05-26 00:59:43

+0

感謝您的回覆!你知道重定向URI的數量是否有限制嗎?我需要爲我的應用運行的每個域設置很多不同的URI。http://hello.com/auth/instagram/callback,http://hi.com/auth/instagram/callback,http: //bye.com/auth/instagram/callback,等等... – 2016-02-04 13:59:56

6

對於我創建的Instagram應用程序,我爲每個要重定向到的位置創建了一個單獨的應用程序,儘管我沒有被ssl區分。然後,我根據所運行的環境將api憑據加載到應用中。

您必須這樣做,因爲Instagram也限制您每個帳戶註冊5個應用程序。出於這個原因,能夠註冊多個重定向會很有用。但另一方面,對我而言,不會受限於您可以創建的應用程序數量(我還有更多的Twitter應用程序比我甚至記得創建的應用程序!)。

+2

這是非常糟糕的。我在某處讀到,解決方案可能是在'redirect_uri'處創建一個「代理」,然後重定向到適當的位置(感謝Instagram發回的查詢參數)。但我不想這樣做...每個其他OAuth提供商都允許多個重定向URI .. – maxdec 2013-06-14 13:50:58

0

我認爲這是你在雅達利感受到的那些場景之一。

反正,我發現這樣一個有用:

編輯您的主機文件(在基於Unix操作系統:/ etc/hosts文件)

確保您添加一行:

127.0.0.1 registeredomain.com

其中registeredomain.com是您在instagram中作爲您的生產回報uri所擁有的域名。

通過這種方式,您的應用程序會將uri返回到registeredomain.com,這相當於本地計算機中的本地主機,接受登錄。

btw:爲什麼?爲什麼?爲什麼?爲什麼instagram,爲什麼你必須強迫一個返回uri?有什麼理由呢?

+0

您能否澄清一下? – kkomaz 2015-04-03 23:27:06

+0

@kkomaz明確了嗎?理想的情況是建立一個開發環境,使用一個帶有返回uri到本地主機的API密鑰,以及一個帶有返回uri到生產網址的API密鑰的生產環境。但這是一個簡單的解決方法 – Luchux 2015-04-08 11:07:08

+0

感謝您的澄清:) – kkomaz 2015-04-13 19:58:45

相關問題