gpt4 book ai didi

http-status-codes - 对于第三方身份验证失败,我应该使用什么 HTTP 代码?

转载 作者:行者123 更新时间:2023-12-04 06:01:45 25 4
gpt4 key购买 nike

我正在创建一个与第三方应用程序集成的应用程序。

为此,登录用户提交第三方集成的 API key 。

如果他们提交的 API key 无效 - (并从第三方返回 401),我应该返回哪个 HTTP 响应?

从我的应用程序返回 401 听起来令人困惑,因为从前端的角度来看,不清楚它们是否未经我的应用程序或第三方应用程序验证。

我很想给它一个 400 - 就好像他们提交了一个带有无效电子邮件地址的表单等。

最佳答案

如果我必须选择一个代码,我可能会选择返回 403 Forbidden。

RFC 7231 §6.5.3 403代码描述如下:

The 403 (Forbidden) status code indicates that the server understood the request but refuses to authorize it. A server that wishes to make public why the request has been forbidden can describe that reason in the response payload (if any).

If authentication credentials were provided in the request, the server considers them insufficient to grant access. The client SHOULD NOT automatically repeat the request with the same credentials. The client MAY repeat the request with new or different credentials. However, a request might be forbidden for reasons unrelated to the credentials.

An origin server that wishes to "hide" the current existence of a forbidden target resource MAY instead respond with a status code of 404 (Not Found).



此状态代码通常用作通用的“身份验证失败”响应,并且不太可能触发任何特定的身份验证机制,例如 401 可以强制浏览器显示用户名/密码提示。身份验证失败的具体原因可以在响应正文中描述,可以是机器可读的形式(例如 JSON 或 XML),也可以是人类可读的文档(例如 HTML)。

Code 400 在这里并不是最糟糕的选择,但它相当通用。

关于http-status-codes - 对于第三方身份验证失败,我应该使用什么 HTTP 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58944483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com