Skip to content

Commit 43445ec

Browse files
fix: remember me checkbox not honored when logging in with passkeys
Fixes #132
1 parent 8fe5640 commit 43445ec

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

lib/devise/strategies/passkey_authenticatable.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ def authenticate! # rubocop:disable Metrics/AbcSize
1919

2020
verify_passkeys(passkey_from_params, stored_passkey)
2121

22+
remember_me(resource)
2223
success!(resource)
2324
rescue WebAuthn::Error
2425
fail!(:passkey_verification_failed)
@@ -43,6 +44,18 @@ def verify_passkeys(passkey_from_params, stored_passkey)
4344
stored_passkey.update!(sign_count: passkey_from_params.sign_count)
4445
end
4546

47+
def remember_me(resource)
48+
resource.remember_me = remember_me? if resource.respond_to?(:remember_me=)
49+
end
50+
51+
def remember_me?
52+
params_auth_hash.is_a?(Hash) && Devise::TRUE_VALUES.include?(params_auth_hash[:remember_me])
53+
end
54+
55+
def params_auth_hash
56+
params[scope]
57+
end
58+
4659
def resource_class
4760
mapping.to
4861
end

0 commit comments

Comments
 (0)