2015-09-28 129 views
1

我在做什麼?
我正在嘗試構建用於在線預訂航班的API,以便其他旅行社可以使用該API。它具有搜索航班,顯示搜索結果,預訂航班和在線支付的功能。因此,對於我計劃使用oAuth的授權。當用戶訪問旅行社網站時,他們可以搜索,預訂航班並且可以進行支付。在這裏,他們不必爲搜索航班和預訂進行認證,但是通過使用第三方進行支付。我正在嘗試做的是,當用戶使用api時,他們不需要身份驗證,但我們應該授權用戶來自有效站點或沒有,因此我正在使用oauth grant type client credentialsLaravel 5.1:如何使用oauth2-server-laravel?

我做了什麼?
我正在嘗試使用oauth的laravel包lucadegasperi/oauth2-server-laravel。我已成功在我的項目中安裝了該軟件包,並根據此處提供的信息完成了配置https://github.com/lucadegasperi/oauth2-server-laravel/wiki。我測試過使用Chrome擴展postman獲取訪問令牌。 enter image description here

我對此感到困惑嗎?
如果我在客戶端共享client_id和client_secret,則任何其他用戶都可以使用該客戶端ID和客戶端密鑰並使用我們的API。怎樣才能訪問令牌用戶後提交的搜索按鈕,並使用該令牌的其他工藝如顯示搜索結果,訂票等

所以,

  1. 我使用權,我的問題是授權類型?如果沒有,這將是 是適合這個?

  2. 如何使用client_id和client_secret,以便我們可以安全地授權 網站?

回答

0

您可以編寫一個包裝的應用程序將包含CLIENT_IDClient_secret。並且您的包裝應用程序也會管理Access令牌。

思路是:

每當任何請求都將來到你的包裝,那麼它會看,如果沒有在高速緩存中存在的任何訪問令牌,如果是的話,採取的令牌,讓您的應用程序的最終要求並根據您的令牌獲取數據。

如果令牌在緩存中不存在,則Wrapper應用會根據您的Client_id和Client Secret發出令牌請求,併爲下一次調用獲取令牌和存儲令牌。

通過這種方式,您的應用程序不會公開您的憑證&令牌。