我正在嘗試實現休息方法來設計我的Api。休息方法:用於在登錄後執行後續api調用
請通過下面的工作流程,並試圖清除我的疑慮,並指出mistakes-
客戶端(網頁瀏覽器)從客戶 REST調用 - > /後/登錄用戶名/密碼
服務器 /登錄與DB服務檢查如果用戶名&密碼是否正確 迴應OK:200 +發送回數據 - > X
客戶 接收確認用戶進行身份驗證+數據 - > X 現在使用的後續調用數據X服務器打通其他服務用戶的特定信息要求
/得/ FirstName_of_User/X 或
/得/ LastName_of_User/X
現在我懷疑有以下幾點(什麼是執行以下操作的最佳實踐)
因爲對於後續請求,我們需要告訴服務的數據是我們請求的X應該是什麼? (用戶名或創建的臨時令牌(不有道理的,因爲休息是所有關於無國籍)或別的東西嗎?)
一旦回到這個X應該在哪裏它被保存在客戶端,以便它可以被起訴每一個後續請求? (Cookie或其他方式存在)?
,如果這是我如何讓後續調用
/得/ FirstName_of_User/X
,如果這一呼籲是有人做別人也那麼它將給結果,我想要的人剛登錄到只得到結果..
註冊懷疑3 - 我發現計算器此鏈接 - Is session used to REST authentication?
whic h建議使用HMAC並找到了這個鏈接 - http://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/,它討論了HMAC如何用於Rest(基本上談論在客戶端和服務器上都有私鑰並使用它來散列請求)。
My關於這種方法的疑問是 - 比方說,我使用密碼作爲客戶端和服務器都知道的私鑰。然後在客戶端,我們應該將密碼保存在cookies中,然後對每個後續請求進行哈希處理。
感謝 任何的懷疑,認識
任何幫助PS:我試圖採用PHP + Mysql
根據您的示例 - 對於客戶端需要發送的任何後續請求 - > id - > accesstoken。 我的疑惑是 - 1>客戶端在哪裏存儲ID?作爲一個cookie? 2>您要遵循哪些步驟來生成訪問令牌?以及服務器在獲取訪問令牌時執行了哪些步驟? –