2014-01-15 93 views
0

我是Oauth2認證過程的新手,我有點卡住了,因爲我想使用Zend Framework OAuth模塊連接到Box.com API。BoxAPI中的授權過程

我找到了一個connect to an Oauth service with zend framework的例子,我在youtube上關於oauth服務的一些教程,以及我已經理解了我最初連接到授權過程(使用client_id響應url和response_type設置爲「code」)。這就是我從教程中學到的東西。但在www.box.com網站的開發者部分有一個奇怪的參數,使GET調用,並嘗試授權訪問用戶內容的應用:

https://www.box.com/api/oauth2/authorize?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&state=security_token%3DKnhMJatFipTAnM0nHlZA 

參數「狀態」必須是更新了應用程序的信息,或者它必須保留在online tutorial之中?我有點困惑。

回答

1

state參數是可選的。它旨在爲您的應用程序提供額外的安全層。

考慮OAuth的認證流程:

  1. 您的應用程序將用戶重定向到Box.com
  2. 框提示用戶輸入憑據和授權
  3. 盒用戶與授權信息重定向到您的應用程序拖。

您發送到Box在步驟的state在步驟送回不變選擇盒您的應用程序。您的應用程序可以比較這些值,以驗證步驟中的Box重定向源自您的應用程序提出的請求。

state可以是任何任意字符串。選擇一段長度的隨機字符串。對於每個新的OAuth請求(即,步驟),該值應該是新產生的,因爲它旨在爲特定用戶標識單個OAuth週期。

這有道理嗎?

+0

是的它確實有道理,謝謝! – softwareplay