Module: Poms::Api::Auth

Extended by:
SingleForwardable
Defined in:
lib/poms/api/auth.rb

Overview

This module can be used to create an authentication header for the Poms API.

see: wiki.publiekeomroep.nl/display/npoapi/Algemeen

Class Method Summary collapse

Class Method Details

.sign(request, credentials, clock = Time.now) ⇒ Object

Parameters:

  • request

    The prepared request

  • credentials

    The Poms API credentials

  • clock (defaults to: Time.now)

    Defaults to current time, but can be provided as Time



19
20
21
22
23
24
25
26
27
28
# File 'lib/poms/api/auth.rb', line 19

def sign(request, credentials, clock = Time.now)
  @credentials = credentials
  timestamp = clock.rfc822
  message = generate_message(request.uri, timestamp)

  request['Origin'] = origin
  request['X-NPO-Date'] = timestamp
  request['Authorization'] = "NPO #{key}:#{encrypt(message)}"
  request
end