Sha256: 43dc789d5dcba9812917746ae9192e6147b7a4e2e9f25de577fdc3af66beeba9

Contents?: true

Size: 804 Bytes

Versions: 5

Compression:

Stored size: 804 Bytes

Contents

module Freee
  module Util
    def self.create_token(**kwarg)

      client_id = kwarg[:client_id]
      secret_key = kwarg[:secret_key]
      client = OAuth2::Client.new(client_id, secret_key, OPTIONS) do |con|
        con.request :url_encoded
        con.request :json
        con.response :json, content_type: /\bjson$/
        con.adapter Faraday.default_adapter
      end

      params = {
        grant_type: 'authorization_code',
        code: kwarg[:authorization_code],
        redirect_uri: kwarg[:redirect_uri],
        headers: {
          'Content-Type' => 'application/json',
          'Authorization' => HTTPAuth::Basic.pack_authorization(
            client_id,
            secret_key
          )
        }
      }

      client.get_token(params).token
    end

    extend self
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
freee-0.3.0 lib/freee/util.rb
freee-0.2.0 lib/freee/util.rb
freee-0.1.0 lib/freee/util.rb
freee-0.0.4 lib/freee/util.rb
freee-0.0.3 lib/freee/util.rb