我有一个Azure多租户应用程序的场景。客户向我们的服务授予与Azure AD对话的权限,并使用授予我们多租户应用程序的授权代码流从其Azure AD租户搜索(用户/ AD组)数据。
将Azure AD安装程序用户发布到我们的UI并尝试从其AAD租户搜索用户/组。我们的服务使用授予多租户应用程序的授权来调用AAD API。
现在,如果客户的AAD管理员通过登录到他们的AAD控制台来删除对我们AAD多租户应用的访问权限,当我们的服务尝试调用AAD API来搜索用户时,AAD开始抛出http 403(禁止)。
在此特定情况下,应将哪些HTTP状态代码返回给UI?我们希望将此信息通知用户,以便他们可以恢复我们的多租户应用程序的授权。
我不认为返回http 4xx是个好主意。如果我们从UI预期中看到这不是客户端错误。
我认为这是某种服务器错误。由于缺乏授权而导致我们与AAD的连接中断的服务。
在这种情况下,请为5xx系列或4xx系列建议一个合理的http状态代码。
我建议您向负责软件背后业务部分的人员提出您的问题(例如产品负责人)。如果有的话,也问你的UX设计者是个好主意。