我的服务器是否应该传递来自 'nested'/proxy 请求的 http 状态代码?

Should my server pass along the http status code from a 'nested'/proxy request?

我有 api 访问我的服务器以从另一个站点获取数据。 (我将以 facebook 为例)

当我点击 api 端点时,服务器将尝试为我的 facebook 帐户返回 facebook 图片。如果我还没有授权我的 facebook 帐户,我应该将 401 状态代码发送回前端,还是在服务器上处理它并发送一个 200 并返回失败的响应。 (具体怎么说失败我不关心)

示例:

我点击了一个"get photos from facebook"按钮。

mydomain.com/get-facebook-photos/ ---> 服务器向 facebook.com/whatever-the-url-is/ Facebook return 发送 401,因为我需要登录。

我的响应代码应该来自 mydomain.com/get-facebook-photos/

我认为当我被授权访问时,我自己的端点 return 401 会很奇怪,但下一级不是。

这方面的最佳做法是什么。我更喜欢某种类型的文档,其中列出了最佳实践和原因等。

显然,我必须在某个地方处理 401,我认为最好的地方是我的 server/endpoint。

我认为一般答案是 return 502。

但是,对于这个请求,401 更有意义。特别是如果他们没有授权您的服务。 return 上游状态代码可能还有其他用例。

此外,如果您执行 return 502,这有助于 return 上游状态和警告。这些应该 return 在警告 header 中编辑。