class WebAuthn::CredentialCreationOptions
Constants
- DEFAULT_RP_NAME
Attributes
attestation[RW]
authenticator_selection[RW]
exclude_credentials[RW]
extensions[RW]
rp_name[R]
user_display_name[R]
user_id[R]
user_name[R]
Public Class Methods
new( attestation: nil, authenticator_selection: nil, exclude_credentials: nil, extensions: nil, user_id:, user_name:, user_display_name: nil, rp_name: nil )
click to toggle source
Calls superclass method
# File lib/webauthn/credential_creation_options.rb, line 25 def initialize( attestation: nil, authenticator_selection: nil, exclude_credentials: nil, extensions: nil, user_id:, user_name:, user_display_name: nil, rp_name: nil ) super() @attestation = attestation @authenticator_selection = authenticator_selection @exclude_credentials = exclude_credentials @extensions = extensions @user_id = user_id @user_name = user_name @user_display_name = user_display_name @rp_name = rp_name end
Public Instance Methods
pub_key_cred_params()
click to toggle source
# File lib/webauthn/credential_creation_options.rb, line 75 def pub_key_cred_params configuration.algorithms.map do |alg_name| { type: "public-key", alg: COSE::Algorithm.by_name(alg_name).id } end end
rp()
click to toggle source
# File lib/webauthn/credential_creation_options.rb, line 81 def rp @rp ||= CredentialRPEntity.new(name: rp_name || configuration.rp_name || DEFAULT_RP_NAME) end
to_h()
click to toggle source
# File lib/webauthn/credential_creation_options.rb, line 47 def to_h options = { challenge: challenge, pubKeyCredParams: pub_key_cred_params, timeout: timeout, user: { id: user.id, name: user.name, displayName: user.display_name }, rp: { name: rp.name } } if attestation options[:attestation] = attestation end if authenticator_selection options[:authenticatorSelection] = authenticator_selection end if exclude_credentials options[:excludeCredentials] = exclude_credentials end if extensions options[:extensions] = extensions end options end
user()
click to toggle source
# File lib/webauthn/credential_creation_options.rb, line 85 def user @user ||= CredentialUserEntity.new(id: user_id, name: user_name, display_name: user_display_name) end
Private Instance Methods
configuration()
click to toggle source
# File lib/webauthn/credential_creation_options.rb, line 93 def configuration WebAuthn.configuration end