Применение дополнительных областей действия oauth в инициализаторе omniauth

Я пытаюсь применить API кошелька coinbase с 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.


person d00medman    schedule 21.06.2017    source источник


Ответы (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

person d00medman    schedule 22.06.2017