我工作的新网站包含以下内容:
未经身份验证的用户的工作流程:
我的问题是我应该为步骤1的HTTP状态代码发送什么?通常,您发送401表示未经授权,但即使您使用的是HTTP身份验证。由于身份验证由不同的服务器处理,因此没有意义。 403似乎不正确,因为它意味着状态不会改变。
我应该使用通用400还是自定义400.X代码?
答案 0 :(得分:1)
虽然在您的案例中发送HTTP 401 Unauthorized
作为回复没有任何问题,但更好的选择是发送HTTP 302 Found
,这意味着当用户尝试访问前端时 - 在此结束时,在其他位置找到了适用的资源(OAuth Server Url)。
您可以在响应的Location
标头中提及OAuth服务器URL,以便客户端将未经身份验证的用户重定向到预期位置。
HTTP 302 Found
Location: https://oath-server-url.com