【问题标题】:Applying additional oauth scopes in an omniauth initializer在omniauth初始化器中应用额外的oauth范围
【发布时间】:2017-11-25 01:03:36
【问题描述】:

我正在尝试将 coinbase 钱包 API 与 oauth 一起使用以使用其发送功能。我已经能够连接到 API 并使用它的端点,但是每当我尝试使用发送功能时,都会抛出错误 Invalid amount for meta[send_limit_amount]。我的omniauth 初始化程序如下所示:

provider :coinbase, , ENV['CLIENT_ID'], ENV['CLIENT_SECRET'], 
scope: 'wallet:user:read wallet:user:email wallet:accounts:read wallet:transactions:send'

这个错误的原因是,为了使用发送功能,coinbase需要额外的参数meta[send_limit_amount]。我应该在哪里以及如何应用这个额外的范围?

更新:所以我已经取得了一些进展,我能够将一个元范围附加到我的初始化程序,这似乎是坚持(如我打印出 auth_info 时所示)。这是我的初始化程序的当前状态:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :coinbase, ENV['CLIENT_ID'], ENV['CLIENT_SECRET'], scope: 'wallet:user:read wallet:user:email wallet:accounts:read ', :meta => {'send_limit_currency' => 'BTC'}
end

# wallet:transactions:send
# :meta => {'send_limit_amount' => '0.0001'}

现在的问题是我似乎无法确定将send_limit_amount 属性添加到 oauth 元哈希所需的语法。

【问题讨论】:

    标签: ruby-on-rails oauth omniauth scopes coinbase-api


    【解决方案1】:

    设法使用以下初始化程序解决了问题;

    Rails.application.config.middleware.use OmniAuth::Builder do
      provider :coinbase, ENV['CLIENT_ID'], ENV['CLIENT_SECRET'],
      scope: 'wallet:user:read wallet:user:email wallet:accounts:read wallet:transactions:send',
      :meta => {'send_limit_amount' => 1}
    end
    

    现在,我需要禁用双因素身份验证或确定如何Re-play the request with CB-2FA-Token header

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-14
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 2016-03-18
      • 2016-01-09
      • 2021-07-08
      • 1970-01-01
      相关资源
      最近更新 更多