Sha256: 798bf245115d429fa702b799ecbfb9337788c2119953cb05e7792e21c921262d

Contents?: true

Size: 769 Bytes

Versions: 3

Compression:

Stored size: 769 Bytes

Contents

class Oauth2::UsersController < Oauth2Controller
  before_filter :ensure_token!
  before_filter :ensure_user

  def show
    attributes = user.try!(:oauth_attributes) || user.attributes.only(*%w[name email uuid])
    render :json => attributes
  end

  protected

  def user
    @user ||= User.where(:uuid => @access_token.user_id).first
  end

  def ensure_user
    unless user
      render(:nothing => true, :status => :bad_request)
    end
  end

  def ensure_token!
    if header = request.headers['Authorization']
      token = header[/Bearer (.+)/, 1]
    end
    token ||= params[:access_token] || params[:oauth_token]
    unless token
      raise Vidibus::Oauth2Server::MissingTokenError
    end
    @access_token = Oauth2Token.find!(:token => token)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
vidibus-oauth2_server-0.0.9 app/controllers/oauth2/users_controller.rb
vidibus-oauth2_server-0.0.8 app/controllers/oauth2/users_controller.rb
vidibus-oauth2_server-0.0.7 app/controllers/oauth2/users_controller.rb