Class: OmniAuth::Strategies::Hipchat

Inherits:
OAuth2
  • Object
show all
Defined in:
lib/omniauth/strategies/hipchat.rb

Instance Method Summary collapse

Instance Method Details

#basic_auth_headerObject



68
69
70
# File 'lib/omniauth/strategies/hipchat.rb', line 68

def basic_auth_header
  "Basic " + Base64.strict_encode64("#{options[:client_id]}:#{options[:client_secret]}")
end

#build_access_tokenObject



63
64
65
66
# File 'lib/omniauth/strategies/hipchat.rb', line 63

def build_access_token
  options.token_params.merge!(:headers => {'Authorization' => basic_auth_header })
  super
end

#group_infoObject



58
59
60
61
# File 'lib/omniauth/strategies/hipchat.rb', line 58

def group_info
  return {} unless group_info_allowed?
  @group_info ||= access_token.get("/v2/group/#{access_token['group_id']}").parsed
end

#group_info_allowed?Boolean

Returns:

  • (Boolean)


72
73
74
75
76
77
# File 'lib/omniauth/strategies/hipchat.rb', line 72

def group_info_allowed?
  return false unless options['scope']
  group_info_scopes = ['view_room']
  scopes = options['scope'].split(' ')
  (scopes & group_info_scopes).any?
end

#raw_infoObject



49
50
51
# File 'lib/omniauth/strategies/hipchat.rb', line 49

def raw_info
  @raw_info ||= access_token.get("/v2/oauth/token/#{access_token.token}").parsed
end

#user_infoObject



53
54
55
56
# File 'lib/omniauth/strategies/hipchat.rb', line 53

def 
  return {} unless group_info_allowed?
  @user_info ||= access_token.get("/v2/user/#{raw_info['owner']['id']}").parsed
end