Module: JWTSignedRequest

Extended by:
JWTSignedRequest
Included in:
JWTSignedRequest
Defined in:
lib/jwt_signed_request/headers.rb,
lib/jwt_signed_request.rb,
lib/jwt_signed_request/sign.rb,
lib/jwt_signed_request/claims.rb,
lib/jwt_signed_request/errors.rb,
lib/jwt_signed_request/verify.rb,
lib/jwt_signed_request/version.rb,
lib/jwt_signed_request/key_store.rb,
lib/jwt_signed_request/middlewares/rack.rb,
lib/jwt_signed_request/middlewares/faraday.rb

Overview

We need a way to pull out the headers from a RAW Rack ENV hash.

We took out the bits we need to lookup the headers from: github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/http/headers.rb

We didn’t want to include actionpack as a dependency of the library as it brings in alot of other dependencies.

Defined Under Namespace

Modules: Middlewares Classes: Claims, Headers, KeyStore, Sign, Verify

Constant Summary collapse

DEFAULT_ALGORITHM =
'ES256'.freeze
EMPTY_BODY =
"".freeze
UnauthorizedRequestError =
Class.new(StandardError)
MissingAuthorizationHeaderError =
Class.new(UnauthorizedRequestError)
JWTDecodeError =
Class.new(UnauthorizedRequestError)
RequestVerificationFailedError =
Class.new(UnauthorizedRequestError)
RequestBodyVerificationFailedError =
Class.new(RequestVerificationFailedError)
RequestHeaderVerificationFailedError =
Class.new(RequestVerificationFailedError)
RequestMethodVerificationFailedError =
Class.new(RequestVerificationFailedError)
RequestPathVerificationFailedError =
Class.new(RequestVerificationFailedError)
RequestQueryVerificationFailedError =
Class.new(RequestVerificationFailedError)
MissingKeyIdError =
Class.new(UnauthorizedRequestError)
UnknownKeyIdError =
Class.new(UnauthorizedRequestError)
AlgorithmMismatchError =
Class.new(UnauthorizedRequestError)
VERSION =
"2.4.0".freeze

Instance Method Summary collapse

Instance Method Details

#configure_keys {|key_store| ... } ⇒ Object

Yields:



13
14
15
# File 'lib/jwt_signed_request.rb', line 13

def configure_keys
  yield(key_store)
end

#key_storeObject



17
18
19
# File 'lib/jwt_signed_request.rb', line 17

def key_store
  @key_store ||= KeyStore.new
end

#sign(*args) ⇒ Object



21
22
23
# File 'lib/jwt_signed_request.rb', line 21

def sign(*args)
  Sign.call(*args)
end

#verify(*args) ⇒ Object



25
26
27
# File 'lib/jwt_signed_request.rb', line 25

def verify(*args)
  Verify.call(*args)
end