Ruby on rails RubyonRails中通过HTTP头的自定义授权

Ruby on rails RubyonRails中通过HTTP头的自定义授权,ruby-on-rails,rest,http,header,authorization,Ruby On Rails,Rest,Http,Header,Authorization,我有两个内部Rails服务,它们需要相互对话。 我需要一个建议,如何使它足够安全,以最小的努力 当前服务A向服务B发送授权HTTP头,服务B包含秘密令牌。简单的基于HTTP令牌的方法,没有什么特别的。但我还需要以某种方式与用户令牌通信,以便服务B知道哪个用户正在与它交谈 我目前的解决方案如下: 发送Authorization-Token-Token=blablabla-user\u-Token=blablabla2 使用方法来解析它 通过提供的user\u令牌识别用户 受此启发 备选方案: 比如

我有两个内部Rails服务,它们需要相互对话。 我需要一个建议,如何使它足够安全,以最小的努力

当前服务A向服务B发送
授权
HTTP头,服务B包含秘密令牌。简单的基于HTTP令牌的方法,没有什么特别的。但我还需要以某种方式与用户令牌通信,以便服务B知道哪个用户正在与它交谈

我目前的解决方案如下:

  • 发送
    Authorization-Token-Token=blablabla-user\u-Token=blablabla2
  • 使用方法来解析它
  • 通过提供的
    user\u令牌识别用户
  • 受此启发
  • 备选方案:

  • 比如:Authorization:MY-APP-V1 Token=blabla Credential=user_Token,但我需要为它定制解析器
  • 自定义HTTP头,如
    X-USER-TOKEN
    ,但似乎不支持这种想法
  • 你的建议

  • 非常感谢您的帮助。

    我很好奇为什么用户令牌不够,您能详细说明一下吗


    但是假设您想继续使用双令牌方法,那么可以使用类似的方法来使用秘密令牌对用户令牌进行编码。这样,您就只需要1个令牌,只需将其作为
    授权:持有者xxxxxx

    谢谢您的回答。秘密令牌在服务对服务通信中起着安全认证的作用。并非所有API端点都需要用户令牌。用户令牌在这里扮演授权的角色。