【问题标题】:Why does the Rails Authorization header require the format Token token="abc123"为什么 Rails 授权标头需要格式 Token token="abc123"
【发布时间】:2017-02-06 18:57:57
【问题描述】:

我试过谷歌这个,但找不到任何答案。使用rails时,为什么我必须发送这样的授权标头

Authorization: Token token=abc123

为什么我不能像这样发送一个

Authorization: abc123

我认为这就是 authenticate_or_request_with_http_token 的构建方式。仅编写自己的方法来获取裸授权标头是否有缺点,或者是否存在一些我不知道的安全问题?

【问题讨论】:

    标签: ruby-on-rails authorization ruby-on-rails-5


    【解决方案1】:

    标头的Token 部分是授权的方案类型,后跟实际的凭据rfc1945。由于 RFC 没有指定默认类型,因此添加它很重要,因为如果没有提供方案类型,不同的 Web 服务器可能具有不同的默认值并执行不同的操作。有一些有用的方案,如bearer tokensbasic auth,它们看起来很相似,但可能由服务器以不同方式管理。 authenticate_or_request_with_http_token 只是尝试为您设置方案类型,但如果您想要不同的方案类型,您可以使用例如实现 OAuth2 的 gem。

    【讨论】:

      猜你喜欢
      • 2018-10-23
      • 2018-07-10
      • 2015-11-05
      • 1970-01-01
      • 2020-09-16
      • 2017-02-01
      • 2021-10-12
      • 1970-01-01
      • 2016-11-27
      相关资源
      最近更新 更多