Class: OmniAuth::Strategies::Quip
- Inherits:
-
OAuth2
- Object
- OAuth2
- OmniAuth::Strategies::Quip
- Defined in:
- lib/omniauth/strategies/quip.rb
Overview
Omniauth strategy for Quip
Instance Method Summary collapse
- #authorize_params ⇒ Object
- #build_access_token ⇒ Object
- #callback_url ⇒ Object
- #me ⇒ Object
- #raw_info ⇒ Object
- #smart_client_id ⇒ Object
- #smart_client_secret ⇒ Object
Instance Method Details
#authorize_params ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/omniauth/strategies/quip.rb', line 29 def super.tap do |params| %w[client_options].each do |v| if request.params[v] params[v.to_sym] = request.params[v] end end end end |
#build_access_token ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/omniauth/strategies/quip.rb', line 39 def build_access_token verifier = request.params["code"] # Override regular client when using setup: proc if env['omniauth.params']['client_id'] && env['omniauth.params']['client_secret'] client = ::OAuth2::Client.new( env['omniauth.params']['client_id'], env['omniauth.params']['client_secret'], site: ..site, authorize_url: .., token_url: ..token_url ) client.auth_code.get_token(verifier, {:redirect_uri => callback_url}.merge(token_params.to_hash(:symbolize_keys => true)), deep_symbolize(.auth_token_params)) else super end end |
#callback_url ⇒ Object
79 80 81 |
# File 'lib/omniauth/strategies/quip.rb', line 79 def callback_url full_host + script_name + callback_path end |
#me ⇒ Object
66 67 68 69 |
# File 'lib/omniauth/strategies/quip.rb', line 66 def me access_token.[:mode] = :header @me ||= access_token.get('users/current', :headers => { 'Content-Type' => 'application/json' }).parsed end |
#raw_info ⇒ Object
62 63 64 |
# File 'lib/omniauth/strategies/quip.rb', line 62 def raw_info @raw_info ||= [:extra_client_id_and_client_secret] ? { client_id: smart_client_id, client_secret: smart_client_secret } : {} end |
#smart_client_id ⇒ Object
71 72 73 |
# File 'lib/omniauth/strategies/quip.rb', line 71 def smart_client_id @smart_client_id ||= env['omniauth.params']['client_id'] || env['omniauth.strategy']..client_id end |
#smart_client_secret ⇒ Object
75 76 77 |
# File 'lib/omniauth/strategies/quip.rb', line 75 def smart_client_secret @smart_client_secret ||= env['omniauth.params']['client_secret'] || env['omniauth.strategy']..client_secret end |