Sha256: 817dbb64ae359bc40fc54a2bafc3a23146803b93be9dca29ae4e65aa96d583e8

Contents?: true

Size: 948 Bytes

Versions: 2

Compression:

Stored size: 948 Bytes

Contents

require 'omniauth/strategies/oauth2'

module OmniAuth
  module Strategies
    class Kosynierzy < OmniAuth::Strategies::OAuth2
      option :name, :kosynierzy

      option :client_options, {
        site: ENV.fetch('ACCOUNT_KOSYNIERZY_HOST') { 'https://account.kosynierzy.info' },
        authorize_url: '/oauth/authorize'
      }

      uid { raw_info['id'] }

      info do
        {
          email: raw_info['email'],
          username: raw_info['username'],
          roles: raw_info['roles'],
          firstname: raw_info['firstname'],
          lastname: raw_info['lastname'],
          personal_identity_number: raw_info['personal_identity_number'],
          identity_card_number: raw_info['identity_card_number'],
          phone_number: raw_info['phone_number'],
          address: raw_info['address']
        }
      end

      def raw_info
        @raw_info ||= access_token.get('/api/v1/me.json').parsed
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
omniauth-kosynierzy-0.1.1 lib/omniauth/strategies/kosynierzy.rb
omniauth-kosynierzy-0.1.0 lib/omniauth/strategies/kosynierzy.rb