Sha256: c8e3f16b1dac9e2c642e418226e1010ca1e788de62846619e8aae6cb5fdc4ed5

Contents?: true

Size: 1.07 KB

Versions: 4

Compression:

Stored size: 1.07 KB

Contents

require 'omniauth-oauth2'
require 'multi_json'

module OmniAuth
  module Strategies
    class MailUp < OmniAuth::Strategies::OAuth2
      
      option :name, :mailup

      option :client_options, {
        site: "https://services.mailup.com",
        authorize_url: "/Authorization/OAuth/LogOn",
        token_url: "/Authorization/OAuth/Token"
      }
      
      # TODO: Do we need this?
      option :provider_ignores_state, true

      # AuthHash data for Omniauth
      uid { raw_info["UID"] } # TODO: Need uid from MailUp
      
      info do
        {
          company: raw_info["Company"],
          nickname: raw_info["Username"],
          version: raw_info["Version"],
          is_trial: raw_info["IsTrial"]
        }
      end
      
      # Get more information about the user.
      def raw_info
        req = access_token.get('/API/v1.1/Rest/ConsoleService.svc/Console/Authentication/Info')
        @raw_info ||= MultiJson.load(req.body)
      end
    end
  end
end

# Make sure that 'mailup' camelizes properly to 'MailUp'.
OmniAuth.config.add_camelization 'mailup', 'MailUp'

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
kono_mailup-0.1.0 vendor/omniauth-mailup/lib/omniauth/strategies/mailup.rb
kono_mailup-0.0.2 vendor/omniauth-mailup/lib/omniauth/strategies/mailup.rb
omniauth-mailup-0.0.5 lib/omniauth/strategies/mailup.rb
omniauth-mailup-0.0.4 lib/omniauth/strategies/mailup.rb