class WebAuthn::Encoder

Constants

STANDARD_ENCODING

www.w3.org/TR/webauthn-2/#base64url-encoding

Attributes

encoding[R]

Public Class Methods

new(encoding = STANDARD_ENCODING) click to toggle source
# File lib/webauthn/encoder.rb, line 16
def initialize(encoding = STANDARD_ENCODING)
  @encoding = encoding
end

Public Instance Methods

decode(data) click to toggle source
# File lib/webauthn/encoder.rb, line 33
def decode(data)
  case encoding
  when :base64
    Base64.strict_decode64(data)
  when :base64url
    Base64.urlsafe_decode64(data)
  when nil, false
    data
  else
    raise "Unsupported or unknown encoding: #{encoding}"
  end
end
encode(data) click to toggle source
# File lib/webauthn/encoder.rb, line 20
def encode(data)
  case encoding
  when :base64
    Base64.strict_encode64(data)
  when :base64url
    Base64.urlsafe_encode64(data, padding: false)
  when nil, false
    data
  else
    raise "Unsupported or unknown encoding: #{encoding}"
  end
end