簡體   English   中英

PHP RESTful API接受身份驗證

[英]PHP RESTful API to accept authentification

我正在研究PHP REST API。 我想要一個用戶密鑰來訪問API。 不過,我不確定如何執行此操作,我只是發出密鑰,然后讓它們在POST或每個API請求的GET發送密鑰嗎? 如果可以的話,請幫助我以最簡單的方式進行解釋,我知道這是很多人想要做的事情,它使很多人感到困惑,而不僅僅是我自己。

另外,我希望能夠限制使用,我想將每次命中存儲在MySQL數據庫中,甚至存儲在內存中。 我剛剛在Github API請求的標頭中看到了這一點,即X-RateLimi-Limit 5000X-RateLimi-Remaining 4996並且每個X-RateLimi-Remaining 4996的數量減少1,這是某種內置的限制器嗎?

只需要求客戶在您的網站上注冊,在CLIENTS表中創建記錄,為他們頒發一個唯一且不容易猜測的ID,然后每次訪問api都要求該ID包含在請求中(在GET或POST中的標頭中) 。

對每個請求進行驗證,如果id不存在或無效,則返回錯誤代碼。

對於速率限制,您是正確的,您需要有一個單獨的表來存儲每個客戶端的請求計數,然后使用X-RateLimit計數器生成這些響應頭。

其實並不難。

我編寫了一個為我的項目執行此操作的API,歡迎您查看源代碼,它位於Api文件夾中,在此處https://github.com/snytkine/LampCMS/tree/master/lib/Lampcms/Api/

API調用的入口點是https://github.com/snytkine/LampCMS/blob/master/www/api/api.php

用於添加新應用的網址是: http : //support.lampcms.com/index.php?a=editapp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM