Class: OmniAuth::Strategies::Hipchat
- Inherits:
-
OAuth2
- Object
- OAuth2
- OmniAuth::Strategies::Hipchat
- Defined in:
- lib/omniauth/strategies/hipchat.rb
Instance Method Summary collapse
- #basic_auth_header ⇒ Object
- #build_access_token ⇒ Object
- #group_info ⇒ Object
- #group_info_allowed? ⇒ Boolean
- #raw_info ⇒ Object
- #user_info ⇒ Object
Instance Method Details
#basic_auth_header ⇒ Object
68 69 70 |
# File 'lib/omniauth/strategies/hipchat.rb', line 68 def basic_auth_header "Basic " + Base64.strict_encode64("#{[:client_id]}:#{[:client_secret]}") end |
#build_access_token ⇒ Object
63 64 65 66 |
# File 'lib/omniauth/strategies/hipchat.rb', line 63 def build_access_token .token_params.merge!(:headers => {'Authorization' => basic_auth_header }) super end |
#group_info ⇒ Object
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
72 73 74 75 76 77 |
# File 'lib/omniauth/strategies/hipchat.rb', line 72 def group_info_allowed? return false unless ['scope'] group_info_scopes = ['view_room'] scopes = ['scope'].split(' ') (scopes & group_info_scopes).any? end |
#raw_info ⇒ Object
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_info ⇒ Object
53 54 55 56 |
# File 'lib/omniauth/strategies/hipchat.rb', line 53 def user_info return {} unless group_info_allowed? @user_info ||= access_token.get("/v2/user/#{raw_info['owner']['id']}").parsed end |