Sha256: ac573fe1434dc7827cf8e059f0b7fef78d5b197dcc7094f8a812423d513b5a01

Contents?: true

Size: 867 Bytes

Versions: 2

Compression:

Stored size: 867 Bytes

Contents

require 'omniauth/strategies/oauth2'

module OmniAuth
  module Strategies
    class FITCVUTOauth2 < OmniAuth::Strategies::OAuth2
      DEFAULT_SCOPE = 'non-expiring'

      option :name, "fitcvut_oauth2"

      option :client_options, {
        :site => 'https://auth.fit.cvut.cz',
        :authorize_url => '/oauth/oauth/authorize',
        :token_url => '/oauth/oauth/token'
      }

      uid{ raw_info['user_id'] }

      info do
        {
            :name => raw_info['user_id'],
            :email => raw_info['user_email']
        }
      end

      extra do
        {
            'raw_info' => raw_info
        }
      end

      def raw_info
        @raw_info ||= access_token.get("/oauth/api/v1/tokeninfo?token=#{access_token.token}").parsed
        @raw_info
      end
    end
  end
end

OmniAuth.config.add_camelization 'fitcvut_oauth2', 'FITCVUTOauth2'

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
omniauth-fitcvut-oauth2-0.2.1 lib/omniauth/strategies/fitcvut_oauth2.rb
omniauth-fitcvut-oauth2-0.1.0 lib/omniauth/strategies/fitcvut_oauth2.rb