Module: Shakha::PKCEMixin

Extended by:
ActiveSupport::Concern
Included in:
AuthController
Defined in:
lib/shakha/pkce.rb

Constant Summary collapse

CODE_VERIFIER_LENGTH =
64
CODE_CHALLENGE_METHOD =
"S256"
"shakha_pkce"
600

Class Method Summary collapse

Class Method Details

.generate_code_challenge(verifier) ⇒ Object



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

def generate_code_challenge(verifier)
  Base64.urlsafe_encode64(
    OpenSSL::Digest::SHA256.digest(verifier),
    padding: false
  )
end

.generate_code_verifierObject



16
17
18
# File 'lib/shakha/pkce.rb', line 16

def generate_code_verifier
  SecureRandom.urlsafe_base64(CODE_VERIFIER_LENGTH, padding: false)
end