IPCommerceFan Posted October 28, 2021 Posted October 28, 2021 IC 4.6.7 / PHP 8 / MySQL 8 All 3rd party apps/plugins disabled Not a fresh install - upgraded from 4.4.10 recently, 3.4.9 before that. It seems, perhaps due to something missed in an upgrade routine, the Enabled/Disabled status for Two Factor Authentication handlers is missing. (it had never been used) In IPS\core\modules\admin\settings\mfa.php, line 108 isEnabled() is run on the handler, which checks for the settings: \IPS\Settings::i()->authy_enabled \IPS\Settings::i()->questions_enabled \IPS\Settings::i()->google_enabled The settings have never been populated with a 0 or 1, and are instead null. Since they are null, the "Enable/Disable" button doesn't know to appear here: My solution to this was to write a plugin which modifies this, at line 108: $handler->isEnabled() To: $handler->isEnabled() ?? 0 and the buttons appeared, with "Disabled" selected. I proceeded to enable each item, then disable, and disabled the plugin. This wrote 0's to the setting for each handler: Now I can freely enable/disable the MFA handlers without the plugin: I'm not sure how this would be worked into a future update, whether by the method I used, or doing something in the upgrader to populate the null settings with 0's, but the issue existed for me so I figured I'd report it! 👍
Marc Posted October 28, 2021 Posted October 28, 2021 Thank you for letting us know of this. Could I please confirm if the issue occurred from 3.4 to 4.4.10 or from 4.4.10 to the current release? Also, just making sure you aren't still having to use a plugin to correct yours. If that's the case, you shouldn't have to be and we need to get that resolved properly for you IPCommerceFan 1
IPCommerceFan Posted October 28, 2021 Author Posted October 28, 2021 Unfortunately I don't know when this originated, as I hadn't tried to use the 2FA feature until today. I'm only theorizing it had to do with my install having been upgraded with long version gaps in-between and wanted to share my solution in case its of any benefit to others. It is indeed resolved. The plugin I wrote was disabled and discarded, and I'm successfully using Google Authenticator. 👍
Solution Marc Posted October 28, 2021 Solution Posted October 28, 2021 I think its very likely this was an anomaly in your data there, but will pass on the information in any case. I havent seen this happen in the thousands I have seen updated from those releases IPCommerceFan 1
IPCommerceFan Posted October 28, 2021 Author Posted October 28, 2021 Agreed, it felt very "fringe". Probably solar flares. lol
Marc Posted October 28, 2021 Posted October 28, 2021 1 minute ago, IPCommerceFan said: Agreed, it felt very "fringe". Probably solar flares. lol Added as potential cause IPCommerceFan 1
Recommended Posts