Repository navigation
Fix signon credentials not being removed on logout - #20567
Open
boonstraworks wants to merge 1 commit into
Open
boonstraworks wants to merge 1 commit into
boonstraworks wants to merge 1 commit into
Conversation
Logging out with the signon authentication only destroyed the phpMyAdmin session. The credentials in the single signon session were kept, so the next request read them again and logged the user back in. Remove the credentials phpMyAdmin reads from the single signon session when logging out. Fixes phpmyadmin#17457 Signed-off-by: Steven <info@boonstraworks.nl>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
When using the
signonauthentication, logging out only destroyed the phpMyAdmin session. The credentials in the single signon session (PMA_single_signon_user,PMA_single_signon_password, ...) were left in place, soreadCredentials()read them again on the next request and the user was logged back in without entering any credentials, for example by using the browser's back button.AuthenticationSignonnow overrideslogOut(): it opens the single signon session, removes the credentials phpMyAdmin reads from it, switches back to the phpMyAdmin session and then runs the regular logout. Only thePMA_single_signon_*keys phpMyAdmin reads are removed; the rest of the single signon session belongs to the external application and is left untouched.The new test
testAuthLogoutClearsSignonCredentialsfails without this change. The two existing logout tests now setSignonSession, which always exists at runtime (it defaults to''inconfig.default.php).Fixes #17457
Signed-off-byline as described in our DCO. This ensures that the work you're submitting is your own creation.