2017-08-02 65 views
0

我正在使用Codeigniter restserver進行社交網絡項目。我想通過API訪問我所有的網站功能(我的登錄,getfriends,postcomments,uploadimages等)。現在我有一個問題,我應該對API(rest_auth,key等)進行任何類型的身份驗證,否則我應該保持打開狀態?應該如何設計API?Codeigniter Restserver - 通過API調用每個函數的最佳實踐

我相信,通過使用配置restserver自己的身份驗證設置,每個函數調用都需要身份驗證,但在我而言,我並不需要在登錄或註冊功能驗證。

我可以使用裏面的功能我自己的會話檢查?還是有更好的方法,因爲我相信restserver肯定會有一些我在這裏失蹤的東西。

回答

1

如果你想用你自己的會話檢查,你可以嘗試選擇session$config['rest_auth']

根據文檔:

如果你綁這個庫到AJAX端點,在這裏客戶使用PHP會議驗證,那麼你可能也不喜歡消化也基本身份驗證方法。

在這種情況下,你可以告訴REST庫檢查什麼PHP會話變量。如果該變量存在,則用戶被授權。這將取決於您的應用程序來設置該變量。

您可以定義在$配置[ 'auth_source']變量。然後通過將$ config ['rest_auth']設置爲會話來告訴庫使用php會話變量。

無論如何,我不會推薦你這個選項,因爲作爲一個社交網站,未來你可能會喜歡有一個移動應用程序,它需要訪問這個API。在那裏你不會有PHP會話來檢查。

對於我已閱讀,是的OAuth2去保護我們的REST API的最佳選擇,但我不知道如何實現它。

現在,我在CodeIgniter REST API上做的是爲每個用戶生成API密鑰。這些密鑰將具有到期日期。當到期日期到達時,將從列表中移除API密鑰,並且用戶應該重新認證(登錄)以獲得新的API密鑰。

希望這可以幫助你一點。我也在這個相同的搜索,這是我得到的進一步。

+0

謝謝。我決定不在API中編寫所有的東西,但是我會爲了不同的目的創建api(僅用於特定目的),其他所有東西都是沒有api的典型方式。我知道如果將來我會爲我的項目開發一個應用程序,那麼這將花費我很多時間,但現在在這個階段,這是我願意採用的唯一解決方案。 – 99Points