【问题标题】:HTTP Authorization and WWW-Authenticate headersHTTP 授权和 WWW-Authenticate 标头
【发布时间】:2016-06-02 01:10:26
【问题描述】:

我正在开发一个 REST API,现在,我想介绍一个身份验证/授权系统,经过长时间的研究,我决定使用 HMAC 实现 HTTP 身份验证,这与 Amazon implementation 非常相似。 但我不明白该方案是如何工作的......例如亚马逊使用自定义“AWS”方案......方案名称是任意的吗? (我可以为它定义任何名称,例如“foo”、“bar”、“my_api_scheme”等吗?)

我的猜测是可以选择任何类型的方案名称,前提是在 WWW-Authenticate 标头中使用相同的名称。 因此,如果我想创建一个“my_api”方案,我会返回一个 401 http 响应:

WWW-Authenticate: my_api realm="user.mysite.com"

并在请求中:

Authorization: my_api hash_signature

我是对的还是不那么简单?

【问题讨论】:

  • 您可能想阅读 greenbytes.de/tech/webdav/rfc7235.html>。

标签: rest security http authentication http-headers


【解决方案1】:

是的,您的建议是正确的。您可能应该对hash_signature 进行base64 编码。您可以找到 AWS 身份验证方案的工作原理here。

编写自己的身份验证逻辑是否是个好主意是另一个问题。我建议您查看 Hawk 之类的东西,它可以满足您的需求,并且由主题专家维护。

【讨论】:

    猜你喜欢
    • 2013-07-15
    • 1970-01-01
    • 2012-04-18
    • 2017-01-03
    • 1970-01-01
    • 2010-12-17
    • 2018-10-19
    • 1970-01-01
    • 2011-06-08
    相关资源
    最近更新 更多