gpt4 book ai didi

web-services - 指示授权义务的正确 HTTP 状态代码是什么?

转载 作者:可可西里 更新时间:2023-11-01 17:09:41 24 4
gpt4 key购买 nike

我创建了一个用于访问用户数据的 HTTP“rest”web 服务 API。

Web 服务与 XACML 策略决策点集成。策略决策点根据用户和正在访问的数据确定请求是否被授权。一般响应为“permit”(允许 Action )或“deny”(不允许 Action )。

如果允许,则调用继续并返回数据。如果拒绝,则调用中止并返回 HTTP 403(禁止访问)。

但是,某些政策具有“义务”以指示有条件地允许采取进一步行动。我通常使用的类比是“可以允许此信用卡交易,但店员需要查看客户的 ID,然后再次调用此 ID 与信用卡匹配”。

在我的 Web 服务中,我想提示客户采取行动并在请求 URL 中包含其他信息以表明已履行义务。我正在通过客户端应用程序理解的结构化主体响应来传达此信息。

我的问题是在该场景中使用的适当 HTTP 状态代码是什么。“403”不合适(来自 HTTP 规范的文本 Authorization will not help and the request SHOULD NOT be repeated)。我最好的猜测是“401”(未授权),但我不确定此状态代码是否专门针对授权 header 的使用和用户名/密码类型的问题。

最佳答案

也许您可以使用 HTTP 状态代码 303 或 307 将用户指向临时重定向位置,该位置以某种方式对额外的“义务”进行编码?

关于web-services - 指示授权义务的正确 HTTP 状态代码是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23786604/

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