使用 OPTIONS 的 RESTful API 授权/权限

问题描述 投票:0回答:1

HTTP

OPTIONS
请求是否适合确定用户的授权?

我见过 HTTP

OPTIONS
请求用于预检以检查请求是否有效,但是可以使用它来确定用户对特定资源的访问权限吗?

使用案例

资源显示在页面上。有一个编辑表单使用

PUT
来更新资源。如果对
OPTIONS /resource/1
的请求显示它接受
PUT
,则会显示编辑按钮。

问题

  1. OPTIONS
    请求是否适合返回特定用户有权访问的动词以确定授权/权限?

  2. OPTIONS
    是否应该在前端代码中使用请求标头信息(或者只是预检验证)?

  3. 通过 REST API 确定经过身份验证的用户的权限是否有任何标准?

rest permissions authorization api-design http-options-method
1个回答
0
投票

根据 Mozilla 选项文档,您的问题的答案是“是”。但是,我们需要为所有 HTTP 方法添加授权检查 - GET、POST、PUT 和 DELETE,因为实际数据是通过这些方法访问的。

原因如下:

  1. 通常,Web 浏览器在 POST 之前调用 OPTIONS(用于 CORS 检查)。不确定所有 API 客户端都会调用此方法(例如服务器到服务器通信)
  2. 即使您为 OPTIONS 添加了授权支持,您也需要为 HTTP 的所有剩余方法添加它。
© www.soinside.com 2019 - 2024. All rights reserved.