簡體   English   中英

REST API錯誤響應:是否應該提供信息?

[英]REST api error response: should be informative or not?

我正在實現REST api,並且在出現錯誤的情況下不確定響應內容。 例如,我使用jwt令牌進行身份驗證。 如果客戶端提供了錯誤的令牌,則服務器將使用以下正文答復401狀態代碼

{
   "status":"failed",
   "details":"JWT token not valid"
}

如果客戶端不提供令牌,則服務器將以以下狀態答復401狀態代碼

{
   "status":"failed",
   "details":"missing JWT token"
}

等等。

這些HTTP答案是有用的,在調試時非常有用。 問題在於,攻擊者現在知道API使用令牌而不是基本身份驗證或其他類型的身份驗證系統。 因此,我現在考慮只使用狀態碼和一個空的正文來回答。 此HTTP答案不提供信息。 攻擊者不知道發生了什么,調試時我也遇到了同樣的情況。 我的問題是:最佳做法是什么? 內容是否豐富? 是否需要默默創建安全性?

謝謝

如果返回401,則客戶端將仍然看到支持哪些身份驗證方案:

“產生401響應的服務器必須發送WWW-Authenticate標頭字段(4.1節),該字段包含至少一個適用於目標資源的質詢。” -https://greenbytes.de/tech/webdav/rfc7235.html#status.401

暫無
暫無

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

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