我有一個用戶身份驗證API,它返回包含一些數據的對象,包括狀態碼,例如。 200.即使證書不正確,我也會發送200狀態消息,但響應對象的狀態字段的狀態爲401,並且消息「Incorrect Credentials」。因此,我的問題是,哪種響應是正確的?即使證書不正確,我發送200狀態消息,然後在響應對象內,我必須再次檢查憑據是否正確或第二,如果憑據不正確,我發送狀態401與響應對象?用戶身份驗證響應
Q
用戶身份驗證響應
0
A
回答
0
我認爲最好將它返回到HTTP標頭中。通過這種方式,客戶可以更輕鬆地知道錯誤發生了。最後它更直接。
0
最好的方法是有條件地返回標題中的http狀態和代碼。通過這種方式,用戶可以使用本地方法對響應做出反應。如果服務中出現意外錯誤,並且無法形成漂亮的響應對象,則用戶仍可以處理它,因爲響應將具有適當的HTTP狀態代碼。如果用戶總是期望你的API返回一個對象,那麼他/她在這種情況下會遇到麻煩。當然,你可以告訴他們考慮到這一點,但是用戶將不得不實施額外的邏輯來處理兩種響應。
但是:
你可以做一些像我一樣:讓用戶選擇!
我在URL中放置一個變量,告訴服務是否返回帶有正確代碼的http響應。 的URL看起來是這樣的:
/some_path/{real_http_code}/some_path_or_data
凡{real_http_code}
是真/假-text。如果這是真的,我們的服務知道用適當的HTTP狀態碼返回響應。如果爲false,服務將始終返回200 OK -response,並且如果出現問題,用戶必須檢查響應。 因此,URL可能看起來像這樣:
/some_path/true/some_path_or_data
跌宕起伏:
+爲用戶提供自由選擇
- 附加邏輯必須落實到服務
相關問題
- 1. Ajax身份驗證響應
- 2. 使用DotNetOpenAuth存儲用戶身份驗證響應
- 3. NoMethodError用戶身份驗證
- 4. cakephp用戶身份驗證
- 5. Django用戶身份驗證
- 6. AD用戶身份驗證
- 7. 用戶身份驗證
- 8. wcf用戶身份驗證
- 9. 用戶身份驗證
- 10. ROR用戶身份驗證
- 11. JWT身份驗證和用戶驗證
- 12. SSO身份驗證,響應總是NTLM
- 13. tastypie身份驗證/自定義響應
- 14. 處理Dropbox身份驗證響應
- 15. URLSession |身份驗證質詢響應| NTLM
- 16. WCF身份驗證NT質詢響應
- 17. Python API和響應 - 身份驗證
- 18. Rails Api身份驗證與用戶身份驗證
- 19. Webapi身份驗證,僅使用客戶端身份驗證
- 20. 將用戶身份驗證遷移到Firebase身份驗證
- 21. 來自JSON響應的身份驗證用戶登錄-React Native
- 22. Owin身份令牌身份驗證令牌端點響應404
- 23. 客戶端身份驗證或相互身份驗證
- 24. Jetty Truststore身份驗證與SSL客戶端身份驗證
- 25. 客戶端身份驗證
- 26. SAML身份驗證門戶
- 27. Web Api客戶端身份驗證(非用戶身份驗證)最佳實踐
- 28. 使用BASIC身份驗證和客戶端證書身份驗證
- 29. WCF - 傳輸身份驗證 - 獲取身份驗證用戶的憑證
- 30. iOS應用程序如何接收SAML身份驗證響應?
請參閱http://stackoverflow.com/questions/1618733/signalling-authentication-failure-in-a-restful-api – Lovababu
上面的鏈接中沒有用於身份驗證的API,但是我有和我不確定哪個是正確的發送回覆的方式。 –
所以我的問題是,哪個迴應是正確的?這不是你的問題。 – Lovababu