Module: Shakha::PKCEMixin
Constant Summary collapse
- CODE_VERIFIER_LENGTH =
64- CODE_CHALLENGE_METHOD =
"S256"- PKCE_COOKIE_NAME =
"shakha_pkce"- PKCE_COOKIE_EXPIRY_SECONDS =
600
Class Method Summary collapse
Class Method Details
.generate_code_challenge(verifier) ⇒ Object
22 23 24 25 26 27 |
# File 'lib/shakha/pkce.rb', line 22 def generate_code_challenge(verifier) Base64.urlsafe_encode64( OpenSSL::Digest::SHA256.digest(verifier), padding: false ) end |
.generate_code_verifier ⇒ Object
16 17 18 19 20 |
# File 'lib/shakha/pkce.rb', line 16 def generate_code_verifier SecureRandom.urlsafe_base64(CODE_VERIFIER_LENGTH) .tr("-_", "+/") .slice(0, CODE_VERIFIER_LENGTH) end |