Sha256: 5c3a2f805e37f52518f469da91ce4567218a7dc53b0cda04313714cde590bd65

Contents?: true

Size: 919 Bytes

Versions: 1

Compression:

Stored size: 919 Bytes

Contents

require "omniauth/strategies/oauth2"

module OmniAuth
  module Strategies
    class IDme < OmniAuth::Strategies::OAuth2

      option :name,   "idme"
      option :scope,  "military"

      option :client_options, {
        :site               => "https://api.id.me",
        :authorize_url      => "https://api.id.me/oauth/authorize",
        :token_url          => "https://api.id.me/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("/api/public/v2/attributes.json").parsed
      end

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

    end
  end
end

OmniAuth.config.add_camelization "idme", "IDme"

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
omniauth-idme-1.0.0 lib/omniauth/strategies/idme.rb