class OAuth2Me::OmniauthStrategyUpdater
Public Instance Methods
setup_omniauth_strategy(strategy_class)
click to toggle source
# File lib/oauth2-me/omniauth_strategy_updater.rb, line 3 def setup_omniauth_strategy(strategy_class) if strategy_class < OmniAuth::Strategies::OAuth2 redefine_callback_url(strategy_class) redefine_options_for(strategy_class) end strategy_class end
Private Instance Methods
redefine_callback_url(strategy_class)
click to toggle source
# File lib/oauth2-me/omniauth_strategy_updater.rb, line 12 def redefine_callback_url(strategy_class) strategy_class.send :define_method, :callback_url_with_redirect do OAuth2Me.redirect_url end strategy_class.alias_method_chain :callback_url, :redirect end
redefine_options_for(strategy_class)
click to toggle source
# File lib/oauth2-me/omniauth_strategy_updater.rb, line 19 def redefine_options_for(strategy_class) strategy_class.send :define_method, :options_for_with_redirect do |option| return options_for_without_redirect(option) unless option == 'authorize' encoded_callback_url = Base64.strict_encode64(callback_url_without_redirect) options_for_without_redirect(option).merge(state: encoded_callback_url) end strategy_class.alias_method_chain :options_for, :redirect end