Sha256: dd3283cf03c3864080ffb0c7826611a444ee64aec2f2f8010863b89ddedb937a

Contents?: true

Size: 948 Bytes

Versions: 1

Compression:

Stored size: 948 Bytes

Contents

require "omniauth/strategies/oauth2"

module OmniAuth
  module Strategies
    class TroopID < OmniAuth::Strategies::OAuth2

      option :name,   "troopid"
      option :scope,  "basic"

      option :client_options, {
        :site               => "https://api.troopid.com",
        :authorize_url      => "https://api.troopid.com/oauth/authorize",
        :token_url          => "https://api.troopid.com/oauth/token"
      }

      option :authorize_options, [:scope, :display]

      uid { data["id"] }

      info do
        {
          :affiliation  => data["affiliation"],
          :verified     => data["verified"]
        }
      end

      extra do
        { :raw => data }
      end

      def data
        @data ||= access_token.get("/v1/me.json", :headers => headers).parsed
      end

      def headers
        { "X-API-ORIGIN" => "OMNIAUTH-TID" }
      end

    end
  end
end

OmniAuth.config.add_camelization "troopid", "TroopID"

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
omniauth-troopid-0.1.2 lib/omniauth/strategies/troopid.rb