【问题标题】:Where I must put the token id?我必须将令牌 ID 放在哪里?
【发布时间】:2013-10-30 08:06:20
【问题描述】:

我正在使用 asp mvc web api 开发一个 Web Api。对于Authenticate a user,api实现了token系统认证,所以用户必须在请求时发送一​​个额外的参数,它是一个键值对:token:key。

我的问题是,如果我向 api 发出 Post 请求,我必须在内容正文上发送令牌,或者我可以在 url 上发送它(例如 miurl.com?token=aaaaaa)

谢谢

【问题讨论】:

    标签: asp.net web-services security asp.net-web-api


    【解决方案1】:

    我会将令牌作为 HTTP 授权标头发送。这被认为是 REST/HTTP 的更“标准”。它在 HTTP 标准中定义:

    http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

    更好的原因是

    • 将它放在 URL 中会在浏览器历史记录等中公开它。
    • 使用邮件正文意味着您必须阅读整个邮件正文才能对其进行身份验证,而使用标头意味着您只需要阅读标头。

    要提取令牌并执行身份验证/授权,您可以实现自定义AuthorizeAttribute 并通过覆盖AuthorizeCore() 方法从HttpContext 读取令牌。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-06
      • 2021-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-24
      • 2013-06-03
      • 2021-05-15
      相关资源
      最近更新 更多