Sha256: ec3602754fd10b1e8036d34d1959df5594bbb678c37648afb93ddc12fb824d8d

Contents?: true

Size: 675 Bytes

Versions: 3

Compression:

Stored size: 675 Bytes

Contents

module OAuth
  class Base
    attr_reader :provider, :data

    def initialize params
      @provider = self.class.name.split('::').last.downcase

      @params = {
        code: params[:code],
        redirect_uri: params[:redirectUri],
        client_id: params[:clientId],
        client_secret: ENV["#{ @provider }_oauth_secret"]
      }
      
      @client = HTTPClient.new
      @access_token = params[:access_token].presence || get_access_token
    end

    def get_data
      response = @client.get(self.class::DATA_URL, access_token: @access_token)

      @data = JSON.parse(response.body).with_indifferent_access

      @data[:id] ||= @data[:sub]
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pshq_engine-0.1.6 app/models/o_auth/base.rb
pshq_engine-0.1.5 app/models/o_auth/base.rb
pshq_engine-0.0.1 app/models/o_auth/base.rb