Sha256: e7ac7b1f8434cde6dd961bcdf6bfc1ce7c3a1d4ea0fb3eefbd284950064f74d9

Contents?: true

Size: 1.14 KB

Versions: 2

Compression:

Stored size: 1.14 KB

Contents

module OmniAuth
  module Strategies
    class Cronofy < CronofyBase
      option :name, "cronofy"

      uid { raw_info['account_id'] }

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

      extra do
        {
          'raw_info' => raw_info,
          'linking_profile' => access_token['linking_profile'],
        }
      end

      def callback_url
        options[:redirect_uri] || (full_host + script_name + callback_path)
      end

      def raw_info
        @raw_info ||= access_token.get("#{client_options[:api_url]}/v1/account").parsed['account']
      end

      def request_phase
        link_token = session['omniauth.params']['link_token']
        if link_token && !link_token.empty?
          options[:authorize_params] ||= {}
          options[:authorize_params].merge!(:link_token => link_token)
        end

        avoid_linking = session['omniauth.params']['avoid_linking']
        if avoid_linking
          options[:authorize_params] ||= {}
          options[:authorize_params].merge!(:avoid_linking => avoid_linking)
        end

        super
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
omniauth-cronofy-0.12.0 lib/omniauth/strategies/cronofy.rb
omniauth-cronofy-0.11.0 lib/omniauth/strategies/cronofy.rb