我有一個基於PHP Slim Framework開發的非常簡單的PHP API。它只做一些SQL查詢並在我調用它時返回一個JSON對象。我通過CURL在另一個網站上訪問這個API。對簡單的PHP RESTful API服務進行身份驗證
我的問題是:由於API的URL基本上是公開的,那麼確保它的最佳方式是什麼?我的第一個想法是HTTP基本身份驗證,這將很容易,我可以通過HTTP標頭。但是,我認爲只要沒有HTTPS連接,它就不是很安全(因爲網站會以純文本的形式將用戶名+密碼傳遞給API)。此外,我將不得不在我的網站上的PHP代碼中存儲憑據,我認爲這並不是最佳選擇。
我發現的下一個解決方案是基於標記的身份驗證,它具有無需對每個請求進行授權但可能更難以實現的優勢。此外,我還沒有任何經驗。
另外我讀了OAuth/OAuth2是要走的路。
問題是:我打算很快在移動應用程序上使用相同的API。
任何提示?謝謝!
大多數人都使用OAuth/OAuth2用戶,但你總是可以通過編寫自己的令牌驗證啓動,並要求令牌將與API頭一起發送。你可以檢查它的存在,然後相應地驗證它。使用令牌認證並不複雜。只需要一段時間,然後坐下來,無論你決定實施什麼。緩慢地編碼,直到你把所有的頭都包裹起來。如果您希望移植到移動應用程序,我肯定會推薦使用令牌身份驗證。 –
很感謝。所以OAuth =基於令牌的正確?我實際上閱讀了很多關於它的內容,很多人也提出這個建議。我想我只是沒有完全得到簽署請求的機制(例如在應用程序中)並在安靜的api上進行身份驗證。 – Mike
嗨,你可以看看我的例子,使用slim3的JSON Web令牌認證https://github.com/letsila/slim3-jwt-auth-example – Tsilavina