? ? Pending

User tests: Successful: Unsuccessful:

avatar roland-d
roland-d
10 Aug 2022

Summary of Changes

When a user is using multi-factor authentication to login it may show some HTML in the message box. This is the result of a failed check on the multi-factor authentication because the Statistics plugin is trying to send data to the Joomla server On the captive page a user is already logged-in but it has not yet completed the multi-factor authentication. Duh, we are trying to complete that page when the "message" shows up. This is part of what a user will see:
image

The page can still be used but it does not look pretty.

Testing Instructions

This assumes you have setup one or more multi-factor authtentications

  1. Enable the Statistics plugin
  2. Open the file plugins/system/stats/stats.php
  3. Uncomment line 24 so it says define('PLG_SYSTEM_STATS_DEBUG', 1);
  4. Log out of the website
  5. Login by entering a username and password
  6. You now get to the captive page and soon after the image shown in the summary will popup
  7. You can click on Select a different method in the toolbar and you go to the page to select which multi-factor authentication you want to use but again the message popup will show
  8. Apply the patch
  9. Refresh or repeat steps 5 - 7. You should no longer see the popups

Actual result BEFORE applying this Pull Request

You get some HTML output in the message box

Expected result AFTER applying this Pull Request

No message box is shown

Documentation Changes Required

None

avatar roland-d roland-d - open - 10 Aug 2022
avatar roland-d roland-d - change - 10 Aug 2022
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 10 Aug 2022
Category Libraries
avatar HLeithner
HLeithner - comment - 10 Aug 2022

@nikosdion can you have a look please

avatar nikosdion
nikosdion - comment - 10 Aug 2022

I'm on vacation until the 22nd BUT I can tell you that how @roland-d did it is exactly what I'd do. So it's okay as far as I am concerned.

Another way to do it — best practice for 3PDs actually — is for the plugin to check if we're in a captive page and not execute. I am leaving this note not as something applicable to this PR but as something that a 3PD might stumble on. The rabbit hole will lead them to this comment here and they will figure out what to do next ;)

avatar HLeithner
HLeithner - comment - 10 Aug 2022

I'm on vacation until the 22nd BUT I can tell you that how @roland-d did it is exactly what I'd do. So it's okay as far as I am concerned.

Another way to do it — best practice for 3PDs actually — is for the plugin to check if we're in a captive page and not execute. I am leaving this note not as something applicable to this PR but as something that a 3PD might stumble on. The rabbit hole will lead them to this comment here and they will figure out what to do next ;)

thx

avatar N6REJ
N6REJ - comment - 11 Aug 2022

I'm unable to test this as the mult-factor authentication setup is failing. I tried turning off EVERY plugin except "fixed" but that still didn't change anything
image

avatar nikosdion
nikosdion - comment - 11 Aug 2022

@N6REJ It looks like your site's database schema is out of date or otherwise borked. Try installing a fresh copy of Joomla 4.2 from the nightlies and apply this patch.

avatar bayareajenn
bayareajenn - comment - 11 Aug 2022

@N6REJ It looks like your site's database schema is out of date or otherwise borked. Try installing a fresh copy of Joomla 4.2 from the nightlies and apply this patch.

I get the same error in a fresh 4.2.0 build, no extensions installed, patch installed. It appears to work until I go back into to user profile and Save or Save & Close. Then I get the same error shown in @N6REJ 's post.

avatar brianteeman
brianteeman - comment - 11 Aug 2022

its the user actions log setting and nothing to do with the authentication plugins.

avatar bayareajenn
bayareajenn - comment - 11 Aug 2022

its the user actions log setting and nothing to do with the authentication plugins.

But I didn't change any settings. The default settings on a fresh build make this error happen. Regardless, it seems like we need to tell people this will happen and what to do about it. I'll take it up with the release team.

avatar roland-d
roland-d - comment - 11 Aug 2022

So I had a look at this finding and it is nothing related with this PR, so we should move it to it's own. It is indeed because of the actionlogs plugin which acts on the trigger onUserAfterSave and expects the $user array that is supplied to contain $user['actionlogs']['actionlogsExtensions'], to set that as extension, which it doesn't. So extension remains empty and this throws the error we see here. Going to see what I can do as a PR.

avatar brianteeman
brianteeman - comment - 11 Aug 2022

Regardless, it seems like we need to tell people this will happen and what to do about it.

No. its a bug that needs fixing

avatar bayareajenn
bayareajenn - comment - 11 Aug 2022

Regardless, it seems like we need to tell people this will happen and what to do about it.

No. its a bug that needs fixing

Yup. Roland found it (as seen in a comment). Thanks.

avatar roland-d
roland-d - comment - 11 Aug 2022

PR created: #38439

avatar N6REJ
N6REJ - comment - 12 Aug 2022

@N6REJ It looks like your site's database schema is out of date or otherwise borked. Try installing a fresh copy of Joomla 4.2 from the nightlies and apply this patch.

that was a clean 4.2-dev build.

avatar brianteeman
brianteeman - comment - 12 Aug 2022

PR created: #38439

That is not a correct fix

avatar bayareajenn
bayareajenn - comment - 12 Aug 2022

I have tested this item successfully on d3b2eea

Tests great. Thanks, Roland.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/38436.

avatar bayareajenn bayareajenn - test_item - 12 Aug 2022 - Tested successfully
avatar webgras
webgras - comment - 12 Aug 2022

I have tested this item successfully on d3b2eea

Tested successfully on localhost/php 8.1


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/38436.

avatar webgras webgras - test_item - 12 Aug 2022 - Tested successfully
avatar fancyFranci fancyFranci - change - 12 Aug 2022
Labels Added: ?
avatar richard67 richard67 - change - 13 Aug 2022
Status Pending Ready to Commit
avatar richard67
richard67 - comment - 13 Aug 2022

RTC as it has 2 successful human tests which were invalidated by a clean branch update only.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/38436.

avatar fancyFranci fancyFranci - change - 13 Aug 2022
Status Ready to Commit Fixed in Code Base
Closed_Date 0000-00-00 00:00:00 2022-08-13 13:53:21
Closed_By fancyFranci
Labels Added: ?
avatar fancyFranci fancyFranci - close - 13 Aug 2022
avatar fancyFranci fancyFranci - merge - 13 Aug 2022
avatar fancyFranci
fancyFranci - comment - 13 Aug 2022

Merged, thank you!

Add a Comment

Login with GitHub to post a comment