簡體   English   中英

在omniauth初始化程序中應用其他oauth作用域

[英]Applying additional oauth scopes in an omniauth initializer

我正在嘗試使用oauth應用coinbase錢包API來使用其發送功能。 我已經能夠連接到API並使用其端點,但每當我嘗試使用發送功能時,我都會拋出Invalid amount for meta[send_limit_amount]的錯誤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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM