具有额外身份验证的 HTTP DELETE 请求

发布于 2024-11-16 15:54:20 字数 356 浏览 5 评论 0原文

我正在寻找以下问题的解决方案,但到目前为止没有成功:我正在计划一个 RESTful Web 服务,其中某些操作(例如删除)应该需要特殊的身份验证。

这个想法是,用户有一个正常的用户名/密码登录(基于会话或基本身份验证,在这里并不重要),使用它可以访问服务。某些操作需要 PIN 码甚至一次性密码形式的额外身份验证。在登录过程中包含额外的身份验证部分是不可能的(并且会错过整个练习的重点)。

我考虑过特殊的标头(例如 X-OTP-Authetication),但这将导致无法通过标准 HTML 页面访问服务(无法在链接中包含自定义标头)。 另一种选择是 HTTP 查询参数,但似乎不鼓励这样做,尤其是对于 DELETE。

有什么想法如何解决这个问题吗?

I was searching for a solution of the following problem, so far without success: I'm planning a RESTful web service, where certain actions (e.g. DELETE) should require a special authentication.

The idea is, that users have a normal username/password login (session based or Basic Auth, doesn't really matter here) using which they can access the service. Some actions require an additional authentication in form of a PIN code or maybe even a one-time password. Including the extra piece of authentication into the login process is not possible (and would miss the point of the whole exercise).

I thought about special headers (something like X-OTP-Authetication) but that would make it impossible to access the service via a standard HTML page (no means to include a custom header into a link).
Another option was HTTP query parameters, but that seems to be discouraged, especially for DELETE.

Any ideas how to tackle this problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怎言笑 2024-11-23 15:54:20

来自 使用 jQuery 前端实现 REST Web 服务安全

如果您还没有阅读过,我建议您阅读一些有关 OAuth 1.02.0。它们都被一些较大的 API 使用,例如 Facebook、Netflix、Twitter 等。 2.0 仍处于草案阶段,但这并没有阻止任何人实现和使用它,因为它对客户端来说使用起来更简单。听起来您想要更复杂、更安全的东西,所以您可能想专注于 1.0。

我总是发现 Netflix 的身份验证概述对客户来说是一个很好的解释。< /p>

From REST Web Service Security with jQuery Front-End

If you haven't already, I'd recommend some reading on OAuth 1.0 and 2.0. They are both used by some of the bigger API, such as Facebook, Netflix, Twitter, and more. 2.0 is still in draft, but that hasn't stopped anyone from implementing it and using it as it is more simple for a client to use. It sounds like you want something more complicated and more secure, so you might want to focus on 1.0.

I always found Netflix's Authentication Overview to be a good explanation for clients.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文