Sha256: 96bf5b5eca12b399d1653e01fe69de5d69bea8418febd84ddf9637844fc23bee
Contents?: true
Size: 1.23 KB
Versions: 2
Compression:
Stored size: 1.23 KB
Contents
require 'omniauth/strategies/oauth2' require 'uri' module OmniAuth module Strategies class Elitmus < OmniAuth::Strategies::OAuth2 # class NoAuthorizationCodeError < StandardError; en DEFAULT_SCOPE = 'public' #OATUH2_PROVIDER_URL = "https://www.elitmus.com" option :name, :elitmus option :client_options, { :site => "https://www.elitmus.com" } option :authorize_options, [:scope, :auth_type] uid { raw_info['id'] } info do prune!({ 'email' => raw_info['email'], 'name' => raw_info['name'] }) end extra do hash = {} hash['raw_info'] = raw_info unless skip_info? prune! hash end def raw_info @raw_info ||= access_token.get('/api/v1/me').parsed end def authorize_params super.tap do |params| %w[scope auth_type].each do |v| if request.params[v] params[v.to_sym] = request.params[v] end end params[:scope] ||= DEFAULT_SCOPE end end def callback_url options[:callback_url] || super end def prune!(hash) hash.delete_if do |_, value| prune!(value) if value.is_a?(Hash) value.nil? || (value.respond_to?(:empty?) && value.empty?) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
omniauth-elitmus-0.0.4 | lib/omniauth/strategies/elitmus.rb |
omniauth-elitmus-0.0.3 | lib/omniauth/strategies/elitmus.rb |