WPIntell

Source evidence

Duo Universal 2FA

User Switching · support · 2025-09-08T20:26:00+00:00

complaintsentiment
highseverity
1.0relevance
5replies
Evidence linked to opportunitycommercial context

Proof Health

Open evidence

Commercial opportunities need traceable source links before they are treated as build-worthy.

10 / 35 rows with source links

28.6% of this page's analysis has direct source links.

0 build-decision rows missing links

0 rows here require auditable proof before promotion.

25 rows with no attached evidence

0 rows have source counts but still need direct links.

Conversation

support
Patrick Johanneson unresolved
I know there’s an add-on plugin for dealing with Duo’s WordPress 2FA plugin. However, Duo has moved on to a new plugin, Duo Universal, and it doesn’t play well with User Switching either. Is there anything in development to deal with Duo Universal, or should I be trying to develop my own solution? If the new plugin doesn’t work then I suspect Duo has reused the same code but renamed its functions or moved it into a namespace. If you can ask Duo to take a look at https://github.com/johnbillion/user-switching-duo-security/blob/master/user-switching-duo-security.php and see what needs updating? Thanks. Hi, I found the solution. If you’d like, I can open a pull request on your Github repository, or you can just incorporate this code if you’d prefer: /* Actions to allow the plugin to be used with Duo Universal. */ add_action( 'switch_to_user', 'user_switching_duo_set_authentication', 1 ); add_action( 'switch_back_user', 'user_switching_duo_set_authentication', 1 ); /** * Sets the 'duo_auth_status' user meta on the user we're switching to. * * Duo Universal, which supplant the duo-wordpress plugin, uses a user meta of * 'duo_auth_status' = 'authenticated' to determine if a user has been authenticated * by Duo MFA. This sets that meta on the user we're switching to (or switching back * to.) * * @param int $user_id The user ID we're switching (back) to. */ function user_switching_duo_set_authentication( $user_id ) { update_user_meta( $user_id, 'duo_auth_status', 'authenticated' ); } I am not sure this is exactly related, but I panicked at the messages from Duo about the end of support, and hastily installed and enabled Duo Universal. I did NOT disable the other Duo plugin, and did not disable 2FA. Now I can’t login with any admin account. I have tried disabling one or the other Duo function through a Duo account, but I get error messages. With both Duo versions enabled, I am stuck in a login loop. With one enabled, I get the error message “Account disabled. Your Duo account is disabled and cannot access this application. Please contact your IT help desk.” Is there ANY way for me to get back into my WordPress admin account at this point? –Sarah @sarah00p You might need to speak with Duo about that issue. They should have guidance about upgrading. It doesn’t sound related to the User Switching plugin. Thank you!

Comments

5 shown
John Blackbourn 2025-09-08T20:49:00+00:00

If the new plugin doesn’t work then I suspect Duo has reused the same code but renamed its functions or moved it into a namespace. If you can ask Duo to take a look at https://github.com/johnbillion/user-switching-duo-security/blob/master/user-switching-duo-security.php and see what needs updating? Thanks.

Patrick Johanneson 2025-09-17T22:07:00+00:00

Hi, I found the solution. If you’d like, I can open a pull request on your Github repository, or you can just incorporate this code if you’d prefer: /* Actions to allow the plugin to be used with Duo Universal. */ add_action( 'switch_to_user', 'user_switching_duo_set_authentication', 1 ); add_action( 'switch_back_user', 'user_switching_duo_set_authentication', 1 ); /** * Sets the 'duo_auth_status' user meta on the user we're switching to. * * Duo Universal, which supplant the duo-wordpress plugin, uses a user meta of * 'duo_auth_status' = 'authenticated' to determine if a user has been authenticated * by Duo MFA. This sets that meta on the user we're switching to (or switching back * to.) * * @param int $user_id The user ID we're switching (back) to. */ function user_switching_duo_set_authentication( $user_id ) { update_user_meta( $user_id, 'duo_auth_status', 'authenticated' ); }

sarah00p 2026-02-03T16:57:00+00:00

I am not sure this is exactly related, but I panicked at the messages from Duo about the end of support, and hastily installed and enabled Duo Universal. I did NOT disable the other Duo plugin, and did not disable 2FA. Now I can’t login with any admin account. I have tried disabling one or the other Duo function through a Duo account, but I get error messages. With both Duo versions enabled, I am stuck in a login loop. With one enabled, I get the error message “Account disabled. Your Duo account is disabled and cannot access this application. Please contact your IT help desk.” Is there ANY way for me to get back into my WordPress admin account at this point? –Sarah

John Blackbourn 2026-02-03T17:01:00+00:00

@sarah00p You might need to speak with Duo about that issue. They should have guidance about upgrading. It doesn’t sound related to the User Switching plugin.

sarah00p 2026-02-03T17:17:00+00:00

Thank you!