Class: UsosAuthLib::UsosAuthorizer

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/usos_auth_lib.rb

Instance Method Summary collapse

Constructor Details

#initializeUsosAuthorizer

Returns a new instance of UsosAuthorizer.



31
32
33
34
35
36
37
# File 'lib/usos_auth_lib.rb', line 31

def initialize
  config = UsosAuthLib.configuration
  @api_key = config.api_key
  @api_secret = config.api_secret
  @usos_base_url = config.usos_base_url
  @scopes = config.scopes
end

Instance Method Details

#access_token(session, verifier, access_token, access_token_secret) ⇒ Object



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/usos_auth_lib.rb', line 53

def access_token(session, verifier, access_token, access_token_secret)
  token = nil

  if verifier.nil?
    token = OAuth::AccessToken.new(
      consumer,
      access_token,
      access_token_secret
    )
  else
    request_token = OAuth::RequestToken.new(
      consumer,
      session.delete(:request_token),
      session.delete(:request_token_secret)
    )
    token = request_token.get_access_token(oauth_verifier: verifier)
  end

  token
rescue StandardError => e
  Rails.logger.error "USOS Access Token Error: #{e.message}"
  nil
end

#authorize(session, request) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/usos_auth_lib.rb', line 39

def authorize(session, request)
  callback_url = "#{request.protocol}#{request.host_with_port}/callback"
  request_token = consumer.get_request_token(
    { oauth_callback: callback_url },
    { scopes: @scopes }
  )
  session[:request_token] = request_token.token
  session[:request_token_secret] = request_token.secret

  request_token.authorize_url
rescue StandardError => e
  Rails.logger.error "USOS Authorize Error: #{e.message}"
end