RESTful服務的新手,但在主題上閱讀了很多。在VS2010中實現C#Restful登錄 - 正確實施
類似(幾乎相同)的問題已經在stackoverflow上被詢問和回答,但老實說,我沒有從響應中學到任何東西。
我想實現一個AuthenticatUser調用,其中發送用戶名和密碼並返回一個驗證密鑰。
鑑於這需要使用GET,POST,PUT或DELETE來完成,看起來GET最合適。
所以也許能使MYDOMAIN /爲MyService /認證/ {名}/{}密碼
,因爲用戶名和密碼的URI傳遞我不喜歡這個,但據我所知它是不是一個好在GET中發送主體的想法。所以POST或者PUT可以工作,但是這似乎與RESTFul哲學不同。
問題1:可以在URL中發送密碼等敏感數據嗎?該網站將使用SSL。
問題2:在傳遞多個參數時,看起來URI概念會變得有點瘋狂,複雜查詢應該如何被RESTfully處理?
問題3:在RESTful API中,首選(正常,最常見)的身份驗證方法是什麼?
我認爲你需要閱讀什麼是「RESTful」,它會誠實地回答你的大部分問題。除此之外,URL在瀏覽器中是可讀的,因此在URL中放置任何機密信息都是不明智的。 –
通常,您的身份驗證方案將涉及*創建會話對象(通常位於服務器上的數據庫中),因此使用用戶證書的PUT或POST完全適合。 – JDB
有意思的是創建一個服務器端會話對象的POST,但它似乎以技術性擊敗了體系結構的精神。就閱讀而言,我有 - 它仍然凝膠化,我甚至讀過菲爾丁博士的論文。我使用了亞馬遜的S3,我瞭解它是REST,但是在購買時我們會分配一個驗證密鑰,並且它用於請求服務。 – kpg