Module: Devise::Passkeys

Defined in:
lib/devise/passkeys.rb,
lib/devise/passkeys/rails.rb,
lib/devise/passkeys/version.rb,
lib/devise/passkeys/controllers.rb,
lib/devise/passkeys/passkey_issuer.rb,
lib/devise/passkeys/controllers/concerns/reauthentication.rb,
lib/devise/passkeys/controllers/passkeys_controller_concern.rb,
lib/devise/passkeys/controllers/sessions_controller_concern.rb,
lib/devise/passkeys/controllers/registrations_controller_concern.rb,
lib/devise/passkeys/controllers/concerns/reauthentication_challenge.rb,
lib/devise/passkeys/controllers/reauthentication_controller_concern.rb

Overview

This module provides a devise extension to use passkeys instead of passwords for user authentication.

It is lightweight and non-configurable. It does what it has to do and leaves some manual implementation to you.

Please consult the README for installation & configuration instructions; and the links below for additional reading about:

  • What passkeys are
  • The underlying gems used to build this devise extension
  • Platform support & user interface implementation guides

Defined Under Namespace

Modules: Controllers Classes: Engine, PasskeyIssuer

Constant Summary collapse

VERSION =
"0.3.0"

Class Method Summary collapse

Class Method Details

.create_and_return_passkey(resource:, label:, webauthn_credential:, extra_attributes: {}) ⇒ Object

This is a helper method that creates and returns a passkey for the given user (resource), using the provided label & WebAuthn::Credential

Returns:

  • A saved passkey for the the given user (resource)

See Also:



37
38
39
40
41
42
43
44
# File 'lib/devise/passkeys.rb', line 37

def self.create_and_return_passkey(resource:, label:, webauthn_credential:, extra_attributes: {})
  PasskeyIssuer.build.create_and_return_passkey(
    resource: resource,
    label: label,
    webauthn_credential: webauthn_credential,
    extra_attributes: extra_attributes
  )
end