2014-01-27 26 views
0

我調查從我們的防火牆後面坐(這是不暴露給外界)的內部應用程序集成盒API調用的可能性。所以問題是,如果我們使用回調URI向Box發送一個驗證請求,Box會直接回發給指定的回調URI(所以本質上它會從Box發起一個新的請求到客戶端),或者它是否向發出請求的客戶端發送請求(標準HTTP請求/響應),並期望客戶端使用標記重定向到回調URI?Box API OAUTH協議是否在防火牆後面工作?

這可能聽起來很奇怪,但在調查過程中,這似乎是Twitter OAUTH協議的工作原理,如果這樣做會對我們有很大幫助,因爲我們不想爲外界打開防火牆。

看到這裏的信息:https://dev.twitter.com/discussions/5801

編輯:剛剛發現這個這似乎表明,客戶端將始終發起請求,從不服務器:https://stackoverflow.com/a/6116736/811108

提前非常感謝。

回答

2

對OAuth的一個典型的用戶旅程上盒想是這樣的:

  1. 用戶的瀏覽器請求www.someboxapp.com和用戶點擊登錄按鈕
  2. 用戶的瀏覽器請求其開始盒驗證網址與https://www.box.com/api/oauth2/authorize
  3. 用戶在Box授權網頁上進行身份驗證,然後Box站點將302重定向標頭髮回給用戶瀏覽器。此標頭告訴用戶的瀏覽器請求由www.someboxapp.com配置的redirect_uri
  4. 用戶的瀏覽器請求www.someboxapp.com上的重定向URL - 例如, http://www.someboxapp.com/oauth/redirect_uri
  5. 上www.someboxapp.com運行盒子的應用,使POST請求https://www.box.com/api/oauth2/token,完成認證,並得到一個訪問令牌使用代表用戶的盒API。

這意味着,如果你在內部網絡上運行的箱的Web應用程序 - 你需要確保運行的應用程序和用戶的計算機網絡服務器可以連接到https://www.box.com/api/oauth2/

如果WWW .someboxapp.com只存在於您的本地網絡 - 這很好 - Box API不需要連接到該主機。