Invalid authentication module 'XenForo_Authentication_SMF' specified

KidCactus

Member
Some times I get some this error in the server log when a user logs in:

Invalid authentication module 'XenForo_Authentication_SMF' specified

Error Info

XenForo_Exception: Invalid authentication module 'XenForo_Authentication_SMF' specified - library/XenForo/Authentication/Abstract.php:104

Stack Trace

#0 /storage/content/40/103240/wearegamers.se/public_html/library/XenForo/Model/User.php(1007): XenForo_Authentication_Abstract::create('XenForo_Authent...')
#1 /storage/content/40/103240/wearegamers.se/public_html/library/XenForo/Model/User.php(1035): XenForo_Model_User->getUserAuthenticationObjectByUserId(54)
#2 /storage/content/40/103240/wearegamers.se/public_html/library/XenForo/ControllerPublic/Login.php(79): XenForo_Model_User->validateAuthentication('user', 'password', NULL)
#3 /storage/content/40/103240/wearegamers.se/public_html/library/XenForo/FrontController.php(310): XenForo_ControllerPublic_Login->actionLogin()
#4 /storage/content/40/103240/wearegamers.se/public_html/library/XenForo/FrontController.php(132): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#5 /storage/content/40/103240/wearegamers.se/public_html/index.php(13): XenForo_FrontController->run()
#6 {main}

Request State

array(3) {
["url"] => string(47) "http://www.wearegamers.se/index.php?login/login"
["_GET"] => array(1) {
["login/login"] => string(0) ""
}
["_POST"] => array(7) {
["login"] => string(8) "user"
["register"] => string(1) "0"
["password"] => string(9) "password"
["remember"] => string(1) "1"
["cookie_check"] => string(1) "1"
["redirect"] => string(75) "/index.php?threads/random-sak-jag-vill-ha-sagt-om-n%C3%A5t-spel.844/page-95"
["_xfToken"] => string(0) ""
}
}

Any ideas why and how to solve this?
 
Hm, just realized this is related to an addon I've had installed, the unofficial SMF importer, since I went from SMF to Xenforo. But why is this still called when I don't even have the addon installed any longer?

Apparently, in my database, a lot of my users have XenForo_Authentication_SMF in the scheme_class column in the xf_user_authenticate table, instead of XenForo_Authentication_Core. Would it be safe to just change all those instances?

Edit: Changing it manually to XenForo_Authentication_Core did not work, then I just get a Undefined index: hashFunc error instead. But, changing the password on the affected users actually fixes it and it also changes XenForo_Authentication_SMF to XenForo_Authentication_Core by itself.
 
I would leave those records as XenForo_Authentication_SMF and then find the library/XenForo/Authentication/SMF.php file that you need to upload to your server.

If you change the auth handler on those records then user passwords will no longer work (I assume the SMF importer imported the passwords which would have required a custom handler).

Edit: Changing it manually to XenForo_Authentication_Core did not work, then I just get a Undefined index: hashFunc error instead.

That's because the data is for the other handler.

But, changing the password on the affected users actually fixes it and it also changes XenForo_Authentication_SMF to XenForo_Authentication_Core by itself.

Yep. When you set a new password in XenForo it will use the default handler because it has the opportunity to store the new password using the default format.
 
Top Bottom