2013-06-23 29 views
0

有誰知道爲什麼Box.com很難以編程方式生成授權碼嗎?我編寫了一些代碼來通過屏幕抓取來完成此操作,然後最近這個代碼被破壞了,因爲(據我所知)一個HTTP請求參數已從[root_readwrite]更改爲root_readwrite。我能夠很快地解決它(謝謝你菲德勒),但爲什麼讓開發人員去解決這個問題呢?Box.com授權碼的編程生成

根據關於此主題的問題數量來判斷,許多開發人員需要這樣做,這可能是出於很好的理由,我認爲這不能被阻止,爲什麼不接受它呢?

謝謝收聽,馬丁

回答

0

通過編程做OAuth的問題是,它會有效地戰勝的OAuth點。用戶應該會看到Box登錄頁面,以便他們永遠不必將用戶名和密碼直接發送到您的應用程序。這允許用戶查看您的應用對其帳戶(範圍)的權限,並且允許他們隨時撤銷您的應用。

以編程方式進行登錄意味着您的應用在某些時候知道用戶的密碼。這要求用戶相信你不要做任何惡意的事情,除非你是一個值得信賴的名字,否則這通常是不可行的。用戶還必須相信您正確處理他們的憑證,並且不會以不安全的方式使用它們。

Box希望鼓勵開發人員以正確和安全的方式進行身份驗證,因此不太可能以編程方式支持OAuth。您應該通過瀏覽Box登錄頁面來嘗試以支持的方式執行登錄。

+0

嗨 - 在我的情況下,我沒有提供我的應用程序的用戶名和密碼,我想要做的就是傳遞應用程序是一個授權代碼,以便它可以生成一個訪問密鑰(和刷新密鑰)。我知道客戶端ID,所以我可以通過模擬瀏覽器訪問oath2 URL的請求序列,登錄並授予應用程序訪問權限,以編程方式生成授權代碼,但它有點脆弱。 – user304582

+0

只需補充一點:我需要這樣做的原因是自動執行我所做的測試。我的測試工具必須先獲得授權碼才能開始工作,這是我想要自動化的步驟之一。我相信我通過傳遞我的應用程序的授權碼來做正確的oauth2方法。 – user304582

+0

啊,我誤解了你的問題。即使你有授權令牌,它也只能活30秒。無論如何,一旦授權令牌到期,您將不得不再次瀏覽整個登錄流程。不幸的是,除了你現在正在做的事情之外,真的沒有一種很好的自動化測試方法。 – Greg