Как передать токен Facebook omniauth коале в другом контроллере в приложении ruby?

я новичок в рубиновой среде.

В моем приложении ruby ​​я аутентифицирую пользователя с помощью omniauth и могу сохранить токен facebook для вошедшего в систему пользователя, и проблема в том, что я хочу передать информацию об этом токене в качестве параметра коале, которая находится в каком-то другом контроллере. ?

Как это сделать? Пожалуйста, помогите.

МОЙ КОНТРОЛЛЕР OMNIAUTH:

class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
  def facebook
     @user = User.find_for_facebook_oauth(request.env["omniauth.auth"], current_user)
     ...
  end

User.rb

def self.find_for_facebook_oauth(access_token, signed_in_resource=nil)
  data = access_token.extra.raw_info
  token = access_token.credentials.token //i want to pass this to invite controller

  cookies[:myKey] = token

  if user = self.where(:email => data.email).first
    if(!user.facebook_id)
      if(user.sign_in_count != 0)
        user.facebook_id = data.id 
        user.token = access_token
        user.save
      else
        user.destroy
        user = User.new(:name=>(data.name).split(" ")[0], :email => data.email, :password => Devise.friendly_token[0,20], :provider => "facebook", :facebook_id => data.id)
        user.skip_confirmation!
        user.save!
      end
    end
  user
  else # Create a user with a stub password. 
  user = User.new(:name=>(data.name).split(" ")[0], :email => data.email, :password => Devise.friendly_token[0,20], :provider => "facebook", :facebook_id => data.id)
  user.skip_confirmation!
  user.save!
  user
  end

end

МОЙ ПРИГЛАШЕННЫЙ КОНТРОЛЛЕР (где я пытаюсь получить данные пользователя facebook с помощью koala gem)

class InviteController < ApplicationController

def invite
fb ||= Koala::Facebook::API.new(cookies[:myKey])
     @friends = fb.get_connections("me", "friends")
  render json: @friends
 end
end

person VinayKashyap    schedule 12.07.2013    source источник
comment
Откуда ваш код и что не так?   -  person oldergod    schedule 12.07.2013
comment
Почему вы не можете просто хранить токен в базе данных и использовать его, когда вам нужно?   -  person Icicle    schedule 13.07.2013
comment
Спасибо @Icicle, теперь я храню токен в базе данных. Сейчас работает нормально! Спасибо всем.   -  person VinayKashyap    schedule 16.07.2013


Ответы (1)


Теперь я сохраняю токен в базе данных. Сейчас работает нормально! Всем спасибо.

person VinayKashyap    schedule 16.07.2013