From 927408cdd8633c0af6f73ef10bfa24ed582a6e64 Mon Sep 17 00:00:00 2001 From: Kaspars Dambis Date: Fri, 14 Feb 2025 15:39:29 +0200 Subject: [PATCH] Enabled providers returns just the keys so we need the supported ones to resolve the instances --- class-two-factor-core.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/class-two-factor-core.php b/class-two-factor-core.php index 1cc1e835..2ffe97ac 100644 --- a/class-two-factor-core.php +++ b/class-two-factor-core.php @@ -547,7 +547,7 @@ public static function get_enabled_providers_for_user( $user = null ) { * @see Two_Factor_Core::get_enabled_providers_for_user() * * @param int|WP_User $user Optional. User ID, or WP_User object of the the user. Defaults to current user. - * @return array + * @return array List of provider instances. */ public static function get_available_providers_for_user( $user = null ) { $user = self::fetch_user( $user ); @@ -555,11 +555,12 @@ public static function get_available_providers_for_user( $user = null ) { return array(); } - $enabled_providers = self::get_enabled_providers_for_user( $user ); + $providers = self::get_supported_providers_for_user( $user ); // Returns full objects. + $enabled_providers = self::get_enabled_providers_for_user( $user ); // Returns just the keys. $configured_providers = array(); - foreach ( $enabled_providers as $provider_key => $provider ) { - if ( $provider->is_available_for_user( $user ) ) { + foreach ( $providers as $provider_key => $provider ) { + if ( in_array( $provider_key, $enabled_providers, true ) && $provider->is_available_for_user( $user ) ) { $configured_providers[ $provider_key ] = $provider; } }