Как добавить клиент API к пользователю приложения для авторизованных запросов?RoR + Trello - PullRequest
0 голосов
/ 13 мая 2019

Я использую камни RoR 5.2, ruby-trello, devise и omniauth-trello.Мне нужна возможность делать авторизованные запросы к API Trello (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="***">> (изменил реальные данные на '***')

Как я могудоступ к @client (Trello :: Client obj) через @user? Может быть, вы знаете лучший способ делать авторизованные запросы от нескольких пользователей в моем приложении?

Извините за мой английский! Заранее спасибо.

...