blob: 5068f6fcea697ff36c9a83c000bdc1f91fdba85b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# frozen_string_literal: true
module Dispatch
module Adapter
class Claude < Base
module PKCE
module_function
def generate
verifier = base64url(SecureRandom.bytes(32))
challenge = base64url(Digest::SHA256.digest(verifier))
{ verifier:, challenge: }
end
def base64url(bytes)
Base64.urlsafe_encode64(bytes).delete("=")
end
end
end
end
end
|