在 omniauth 初始化器中应用额外的 oauth 范围
Applying additional oauth scopes in an omniauth initializer
我正在尝试将 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 元哈希所需的语法。
设法使用以下初始化程序解决了问题;
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
我正在尝试将 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 元哈希所需的语法。
设法使用以下初始化程序解决了问题;
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