如何将API客户端添加到应用程序用户以进行授权请求? RoR + Trello

时间:2019-05-13 15:15:36

标签: ruby-on-rails devise omniauth rails-api trello

我正在使用RoR 5.2,ruby-trello,devise和omniauth-trello宝石。 我需要能够向Trello API(https://github.com/jeremytregunna/ruby-trello#multiple-users)发出授权请求。

这是我使用Trello登录的回调操作。

  def trello
    @user = User.from_omniauth(request.env['omniauth.auth'])

    if @user.persisted?
      @client = Trello::Client.new(
          :consumer_key => Rails.application.credentials.trello[:key],
          :consumer_secret => Rails.application.credentials.trello[:secret],
          :oauth_token => params[:oauth_token],
          :oauth_token_secret => params[:oauth_verifier]
      )
      @user.update(client: @client)
      sign_in_and_redirect @user, event: :authentication
      set_flash_message(:notice, :success, kind: 'Trello') if is_navigational_format?
    end
  end

此代码将字符串保存到@ user.client,而不是对象。如果尝试puts @client.inspect控制台显示此信息(不包含ID之类的信息):

#<Trello::Client:0x00007f1550453*** @configuration=#<Trello::Configuration:0x00007f1550453*** @consumer_key="***", @consumer_secret="***", @oauth_token="***", @oauth_token_secret="***">>(将实际数据更改为“ ***”)

如何通过@user访问@client(Trello :: Client obj)? 也许您知道从我的应用程序中多个用户发出授权请求的最佳方法?

对不起,我的英语! 预先谢谢你。

0 个答案:

没有答案