Skip to content

Commit 7118c6c

Browse files
fix: remember me checkbox not honored when logging in with passkeys
Fixes #132
1 parent 31631e5 commit 7118c6c

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

lib/devise/strategies/passkey_authenticatable.rb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ def authenticate!
1616
verify_passkeys(passkey_from_params, stored_passkey)
1717

1818
resource = stored_passkey.public_send(resource_name)
19+
remember_me(resource)
1920
success!(resource)
2021
rescue WebAuthn::Error
2122
fail!(:passkey_verification_failed)
@@ -40,6 +41,19 @@ def verify_passkeys(passkey_from_params, stored_passkey)
4041
stored_passkey.update!(sign_count: passkey_from_params.sign_count)
4142
end
4243

44+
def remember_me(resource)
45+
resource.remember_me = remember_me? if resource.respond_to?(:remember_me=)
46+
end
47+
48+
# Should this resource be marked to be remembered?
49+
def remember_me?
50+
params_auth_hash.is_a?(Hash) && Devise::TRUE_VALUES.include?(params_auth_hash[:remember_me])
51+
end
52+
53+
def params_auth_hash
54+
params[scope]
55+
end
56+
4357
def resource_name
4458
mapping.to.name.underscore
4559
end

0 commit comments

Comments
 (0)