Description
BUG/PROBLEM REPORT (OR OTHER COMMON ISSUE)
What I did:
In the Zope root /acl_users
, I deactivated the HTTPBasicAuthHelper
plugin for the IChallengePlugin
interface and activated the CookieAuthHelper
plugin for the IChallengePlugin
interface. Then, while logged in as a Manager
, I clicked the manage_zmi_logout
ZMI link.
What I expect to happen:
I expect to see either some sort of "You have been logged out" page or to be redirected to the CookieAuthHelper.login_form
.
IMO, ZMI logout should not immediately re-challenge the user to authenticate as this leads to a confusing user experience for most, if not all, authentication types. Specifically, the user never sees a clear confirmation of the effect of their action, some sort of "You have been logged out" message, and they're left to infer that from being challenged for credentials again.
If, despite that poor UX, we decide that ZMI logout should immediately re-challenge, then the decision for how to challenge the user should be delegated to the plugins configuration for the IChallengePlugin
interface.
What actually happened:
The browser prompts for HTTP Authorization: Basic ...
credentials. This happens because HTTP Authorization: Basic ...
assumptions are hard-coded into Products.PluggableAuthService.manage_zmi_logout(...)
. Namely it sets WWW-Authenticate: basic ...
and Status: 401 Unauthorized
.
What version of Python and Zope/Addons I am using:
Python 3.9
Plone's buildout.coredev
, branch 6.0
, Products.PlonePAS
added to buildout:auto-checkout