【问题标题】:QuickBlox Session create: Unexpected Signature in Rails AppQuickBlox 会话创建:Rails 应用程序中的意外签名
【发布时间】:2016-11-20 02:57:31
【问题描述】:

我正在尝试使用 Ruby on Rails 从 Rest API 创建 QuickBlox 会话。我目前的实现:

def qb_signin_params
  timestamp = Time.now.in_time_zone('UTC').to_i
  nonce = rand.to_s[2..6]
  signature_string = "application_id=#{QuickBlox_Application_Id}&auth_key=#{QUICKBLOX_Authorization_KEY}&nonce=#{nonce}&timestamp=#{timestamp}"
  digest = OpenSSL::Digest.new('sha1')
  signature = OpenSSL::HMAC.hexdigest(digest, signature_string, QUICKBLOX_Authorization_SECRET)

  params = Hash.new
  params['application_id'] = QuickBlox_Application_Id
  params['auth_key'] = QUICKBLOX_Authorization_KEY
  params['timestamp'] = timestamp
  params['nonce'] = nonce
  params['signature'] = signature

  params
end

返回以下错误:

unexpected token at '<?xml version="1.0" encoding="UTF-8"?>
<errors> 
  <error>Unexpected signature</error>
</errors>

我已经搜索了几个地方,但始终找不到正确的 Ruby 签名生成。请帮忙。

【问题讨论】:

    标签: ruby-on-rails-4 quickblox hmac


    【解决方案1】:

    看看这个quickblox_api gem。它对我很有用...

    我遇到了同样的问题,看看那里做了什么,这几乎就是你(和我)正在做的事情......除了hmac_sha 的正文正在排序之外按照字母顺序,按照我在下面引用的quickblox documentation 中的指示/提及:

    请求正文通过增加字符串数组'parameter=value'形成排序(按字母顺序排序,按符号排序,而不是按字节排序),用符号“&”分隔

    【讨论】:

      猜你喜欢
      • 2013-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多