Sha256: 3b7517e8539423f6951e8ceab11c000a5e9a463733accbe5f9b772af272789ca

Contents?: true

Size: 1.08 KB

Versions: 36

Compression:

Stored size: 1.08 KB

Contents

require 'omniauth-oauth2'

module OmniAuth
  module Strategies
    class Sso < OmniAuth::Strategies::OAuth2

      def raw_info
        @raw_info ||= access_token.get("#{_provider[:user_url]}.json?oauth_token=#{access_token.token}").parsed
      end

      def self._provider; SsoClyent.provyder;end
      def _provider; SsoClyent.provyder;end

      option :client_options, {
        :site =>  _provider[:url],
        :authorize_url => _provider[:authorize_url],
        :token_url => _provider[:access_token_url]
      }
      option :provider_ignores_state, true

      uid { raw_info[_provider[:user][:uid]] }

      info do
        _provider[:user][:info].inject({}) do |h,inf|
          h.merge({inf.to_sym => raw_info.send(:[], inf)})
        end
      end

      extra do
        _provider[:user][:extras].inject({}) do |h,inf|
          h.merge({inf.to_sym => raw_info['extra'].try(:[], inf)})
        end
      end
      
      def authorize_params
        super.tap do |params|
          params['custom_params'] = session['for_sign_up'].try(:to_json)
        end
      end
    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
sso_clyent-0.1.3 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.1.2 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.1.1 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.1.0 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.0.7.38 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.0.7.37 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.0.7.36 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.0.7.35 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.0.7.34 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.0.7.33 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.0.7.32 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.0.7.31 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.0.7.30 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.0.7.29 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.0.7.28 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.0.7.27 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.0.7.26 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.0.7.25 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.0.7.24 lib/sso_clyent/omniauth/strategies/sso.rb
sso_clyent-0.0.7.23 lib/sso_clyent/omniauth/strategies/sso.rb