Sha256: 2918ef2b5cb4d8395a9382613a423d46c1dddda5164fb71b7d9aefdd789477af

Contents?: true

Size: 976 Bytes

Versions: 3

Compression:

Stored size: 976 Bytes

Contents

require 'omniauth-oauth2'

module OmniAuth
  module Strategies
    class Exact < OmniAuth::Strategies::OAuth2
      option :client_options, {
        site: 'https://start.exactonline.nl',
        authorize_url: 'https://start.exactonline.nl/api/oauth2/auth',
        token_url: 'https://start.exactonline.nl/api/oauth2/token'
      }

      def request_phase
        super
      end

      uid{ raw_info['feed']['entry']['content']['properties']['UserID']['__content__'] }

      info do
        {
          name: raw_info['feed']['entry']['content']['properties']['FullName'],
          email: raw_info['feed']['entry']['content']['properties']['Email'],
          division: raw_info['feed']['entry']['content']['properties']['CurrentDivision']['__content__']
        }
      end

      extra do
        {
          'raw_info' => raw_info
        }
      end

      def raw_info
        @raw_info ||= access_token.get('/api/v1/current/Me').parsed
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
omniauth-exact-0.0.4 lib/omniauth/strategies/exact.rb
omniauth-exact-0.0.3 lib/omniauth/strategies/exact.rb
omniauth-exact-0.0.2 lib/omniauth/strategies/exact.rb