ruby-on-rails - 通过 Ruby on Rails 中的 HTTP header 自定义授权

标签 ruby-on-rails rest http header authorization

我有 2 个内部 Rails 服务,它们需要相互通信。 我需要一个建议,如何以最少的努力使其足够安全。

目前服务A向服务B发送Authorization HTTP header,其中包含secret token。简单的基于 HTTP token 的方法,没什么特别的。但我还需要以某种方式传达用户 token ,以便服务 B 知道哪个用户正在与其交谈。

我目前的解决方案如下:

  1. 发送授权 token token=blabla user_token=blabla2
  2. 使用existing in Rails解析方法
  3. 通过提供的user_token识别用户
  4. 受此启发StackOverflow post

备选方案:

  1. Amazon way使用类似:Authorization: MY-APP-V1 Token=blabla Credential=user_token,但我需要自定义解析器。
  2. 自定义 HTTP header ,如 X-USER-TOKEN,但看起来像 RFC不赞成这个想法。
  3. 您的提议或建议

非常感谢您的帮助。

最佳答案

我很好奇为什么用户 token 不够,你能详细说明一下吗?

但假设您想继续使用双 token 方法,例如 JWT可用于使用 secret token 对用户 token 进行编码。这样您将只有 1 个 token ,并且可以将其简单地发送为 Authorization: Bearer xxxxxx

关于ruby-on-rails - 通过 Ruby on Rails 中的 HTTP header 自定义授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58349951/

相关文章:

php - 我是否在登录系统中使用 cookie 或 session 登录?

html - 如何做 HTML/CSS 表单助手/popover

java - 使用 JAX-RS 和 Jersey 进行基于 REST token 的身份验证的最佳实践

json - GitHub API 中的 blob_url、raw_url 和 contents_url 有什么区别?

ruby-on-rails - 如何实现 Elasticsearch 不过滤?

java - 在 Android 客户端中处理来自 Jersey 服务器的多部分响应

node.js - 文件较小的 node.js HTTP 服务器响应速度慢得多

ruby - 发布原始字符串而不是表单数据?

php - 如何在服务器中运行 PHP 代码的同时阻止 PHP 向客户端发送数据?

ruby-on-rails - 使用rake db:create命令时出错(Ruby on Rails)