Skip to content

Conversation

@NobodysNightmare
Copy link
Contributor

Previously we'd be hiding the "change password" dialog on the basis of an external authentication method existing. However, that's not enough, because (at least with user remapping enabled) it's possible that a user that logged in via password once, gained the ability to login through SSO afterwards. Such a user then can use both mean to authenticate, thus they also need to be able to change a potentially compromised password.

Much more work is needed here: Users need to be aware that their password still works, they need to be able to delete a password if they only want to use SSO and maybe there's also a use case for deleting an SSO association and going back to password-based logins. However, all of these things require more UI changes and some proper product development first.

This change is a first step to improve the situation.

Ticket

https://community.openproject.org/wp/64567

@NobodysNightmare NobodysNightmare requested a review from a team November 7, 2025 14:55
@NobodysNightmare NobodysNightmare force-pushed the change-password-external-auth branch from 9d0e3c7 to 0083de5 Compare November 10, 2025 08:19
Previously we'd be hiding the "change password" dialog on the
basis of an external authentication method existing. However, that's
not enough, because (at least with user remapping enabled) it's possible
that a user that logged in via password once, gained the ability to login
through SSO afterwards. Such a user then can use both mean to authenticate,
thus they also need to be able to change a potentially compromised password.

Much more work is needed here: Users need to be aware that their password still
works, they need to be able to delete a password if they only want to use SSO and
maybe there's also a use case for deleting an SSO association and going back to
password-based logins. However, all of these things require more UI changes and
some proper product development first.

This change is a first step to improve the situation.
Previously we tested nothing in the email, not even the subject.
This means a broken implementation that always would send "can't change password"
would not have been discovered.

The new test checks the subject (comparable to the other test cases in the same file)
and also does not simply assume that the mail will contain the correct link, but rather
uses the link from the mail.
@NobodysNightmare NobodysNightmare force-pushed the change-password-external-auth branch from 0083de5 to ea71a61 Compare November 10, 2025 13:02
Copy link
Member

@Kharonus Kharonus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@NobodysNightmare NobodysNightmare merged commit 865ef7b into dev Nov 11, 2025
17 of 18 checks passed
@NobodysNightmare NobodysNightmare deleted the change-password-external-auth branch November 11, 2025 14:26
@github-actions github-actions bot locked and limited conversation to collaborators Nov 11, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants