polkitAgent: Use dialog as confirmation when the user has no password
When a user has no password and a polkit authentication is started, instead of blindly initiating the admin session, show the regular "Authentication Requested" dialog (but without the password entry). This makes sure that the user's admin session is only effectively started after the user chooses to proceed with the authentication, which provides an extra confirmation step that can be vital for critical tasks.
To do this, we show the dialog inside _onUserChanged()
right after the
dialog was created instead of calling performAuthentication()
from
_onInitiate()
. The bug mentioned in _onInitiate()
is no longer an
issue since we show the dialog in all cases now anyway.
Ideally we should use a different wording than "authentication" when the user has no password set, and use "confirmation" instead. However polkit already sends the requests with such messages (e.g. "Authentication is required to configure software repositories"), and it's important to show those to the user, so this patch keeps the regular wording.
Thanks to @jrocha for the initial patches this is based on!