Sorry for the trouble here! I’m testing the latest release now and can take a quick look to see if this is something that’s easily correctable. We use all the core WordPress hooks during the login process but there might be something else we can do differently without calling any Wordfence-specific hooks. We can’t ensure that we can support functionality in other plugins but if there’s a core process we can do better with, I’m happy to support that.
I tested this out and can confirm that using the override form (?wle on the URL) does send an email but using the Auth0 embedded form or the Universal Login Page does not.
Looking a little further, I can see that the hook they use to send these is wp_login
:
https://github.com/wp-plugins/wordfence/blob/master/lib/wordfenceClass.php#L500
… which we call after all successful logins using Auth0:
https://github.com/auth0/wp-auth0/blob/master/lib/WP_Auth0_LoginManager.php#L549
The problem, it look like, is that the action that should be sending the email is stopped if there is no $_POST
object:
https://github.com/wp-plugins/wordfence/blob/master/lib/wordfenceClass.php#L855
For the default configuration, there’s not much we can do about that. It might be worth it to raise the issue with Wordfence and see why the check it there.
However, you can change how the plugin accepts callback requests from Auth0. There is a setting “Implicit Login Flow” on the Advanced tab of the Auth0 plugin settings that will request the callback information as a POST, rather than a GET. Without getting too much into the weeds here, this switches the grant that we use from Authorization Code to Implicit with form_post. In the case of this plugin, it will not change how secure the plugin is but it will stop pulling down the entire user from Auth0 for each login (data stored in usermeta). If you’re not using metadata from the Auth0 profile than this will not have any impact on your site.
I switched that on and started to get email notifications again. Give that a try and let me know if it works for you. Happy to explain more about what this change means in general but if logins work and you’re not using any Auth0-stored user data, everything should work as expected.