2013-02-22 97 views
3

我嘗試將Phil Sturgeon(Codeigniter RestServer)的出色工作用於我的服務。菲爾鱘魚與API密鑰,什麼是最好的方法?

我打算使用此工作流程:

client --> client connect to my service with credentials 
server <-- check credentials in db, generate api-key for this user, and send it 
client --> send request to get personal infos with new api-key in header 
server <-- retrieve infos for this user from api-key, send infos 
client --> another request with new api-key in header 
server <-- check if api-key lifetime < 15m, if ok execute request and update lifetime else return timeout error 
... 

任何人都可以幫助我做到這一點使用RestServer X-API-KEY,或者我可以讓我自己的API密鑰管理? 謝謝。

+0

究竟你需要幫助嗎?你卡在哪裏? – 2013-02-22 17:51:20

+0

我需要知道我是否可以使用Phil sturgeon的RestServer實現,或者如果我打算自己做密鑰管理(終生)。隨着Phil Sturgeon的實施,我如何將鑰匙分配給賬戶?如何在服務器允許訪問之前檢查密鑰的有效期?我的工作流程是否是最佳解決方案?謝謝。 api密鑰的生命週期是爲了防止網絡嗅探。 – doc 2013-02-22 17:55:05

回答

0

您不應該使用庫中使用的X-API-KEY進行此操作。密鑰的用途是對您已列入白名單的應用程序進行身份驗證以訪問您的API。

在你的情況,你想要做的是讓你的應用程序生成一個身份驗證令牌並將其返回給客戶端。客戶端應該使用身份驗證令牌發出請求。

應該使用X-API-KEY來驗證請求是否來自列入白名單的「客戶端」。這裏的流程是什麼樣子:

客戶 - >客戶端連接到與證書和X-API密鑰
服務器 <您服務 - 驗證X-API密鑰,檢查憑證針對數據庫,生成的身份驗證令牌該用戶,並在響應
客戶將其發送回 - >發送請求來獲取個人相關信息與身份驗證令牌
服務器 < - 身份驗證令牌的檢查有效性,R該用戶的相關信息etrieve並返回響應 客戶 - >其他與身份驗證令牌
服務器 <請求 - 檢查身份驗證令牌仍然有效(檢查到期時間等),並返回響應

相關問題