I ended up just hooking into the “failed_login” action. That worked perfectly.
Yeah, I know that I can do that, but the problem is that they won’t be a member if this is the first time that they have visited the wp site. The way I am hoping to do it is when they submit the form, then I would be able to check the external db. Then I check the wp db. If they are a member, continue, and let wp log them in. If not, then create a membership for them in wp (with the credentials that are sent from the external db). So is there a way to hook in BEFORE the attempted login not after?
On second thought, does wp_login happen whether the login was a success or not? If it does, then what I might be able to do is to create the user if there is no user found, and then somehow trigger that login attempt again.