Class: PKCE::Verifier

Inherits:
Object
  • Object
show all
Defined in:
lib/pkce/verifier.rb

Overview

Handles Proof Key for Code Exchange (PKCE) verification.

Constant Summary collapse

RANGE =
32..96
MAX =
RANGE.max

Instance Method Summary collapse

Constructor Details

#initialize(range: RANGE, randomizer: SecureRandom) ⇒ Verifier

Returns a new instance of Verifier.



14
15
16
17
# File 'lib/pkce/verifier.rb', line 14

def initialize range: RANGE, randomizer: SecureRandom
  @range = range
  @randomizer = randomizer
end

Instance Method Details

#call(length: MAX) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/pkce/verifier.rb', line 19

def call length: MAX
  if range.cover? length
    Success randomizer.urlsafe_base64(length)
  else
    Failure "Invalid PKCE verifier length: #{length}. Must be between #{range.inspect}."
  end
end