mirror of
https://github.com/bitwarden/server
synced 2026-02-11 14:03:24 +00:00
[PM-31212] Change hardcoded 5 key WebAuthn limit for login to check if premium (#6894)
* removed hardcoded limit so login would look at more than first 5 keys registered * Update src/Core/Auth/Identity/TokenProviders/WebAuthnTokenProvider.cs Co-authored-by: Dave <3836813+enmande@users.noreply.github.com> * Update src/Core/Auth/Identity/TokenProviders/WebAuthnTokenProvider.cs Co-authored-by: Dave <3836813+enmande@users.noreply.github.com> * Update src/Core/Auth/Identity/TokenProviders/WebAuthnTokenProvider.cs Co-authored-by: Dave <3836813+enmande@users.noreply.github.com> * Update src/Core/Auth/Identity/TokenProviders/WebAuthnTokenProvider.cs Co-authored-by: Dave <3836813+enmande@users.noreply.github.com> * removed orphaned for loop in favor of more robust and efficient foreach loop --------- Co-authored-by: Dave <3836813+enmande@users.noreply.github.com>
This commit is contained in:
@@ -147,16 +147,12 @@ public class WebAuthnTokenProvider : IUserTwoFactorTokenProvider<User>
|
||||
return keys;
|
||||
}
|
||||
|
||||
// Support up to 5 keys
|
||||
for (var i = 1; i <= 5; i++)
|
||||
// Load all WebAuthn credentials stored in metadata. The number of allowed credentials
|
||||
// is controlled by credential registration.
|
||||
foreach (var kvp in provider.MetaData.Where(k => k.Key.StartsWith("Key")))
|
||||
{
|
||||
var keyName = $"Key{i}";
|
||||
if (provider.MetaData.TryGetValue(keyName, out var value))
|
||||
{
|
||||
var key = new TwoFactorProvider.WebAuthnData((dynamic)value);
|
||||
|
||||
keys.Add(new Tuple<string, TwoFactorProvider.WebAuthnData>(keyName, key));
|
||||
}
|
||||
var key = new TwoFactorProvider.WebAuthnData((dynamic)kvp.Value);
|
||||
keys.Add(new Tuple<string, TwoFactorProvider.WebAuthnData>(kvp.Key, key));
|
||||
}
|
||||
|
||||
return keys;
|
||||
|
||||
Reference in New Issue
Block a user