Django 1.10.x breaks WEBSSO login form on firefox
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Dashboard (Horizon) |
Fix Released
|
High
|
Colleen Murphy | ||
django-openstack-auth |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
When using horizon's WebSSO feature and selecting an external IdP for the "Authenticate Using" field, clicking the Connect button produces a popup box in the upper left corner saying "Please fill out this field" instead of forwarding to the keystone IdP. This only happens on Firefox (tried with 52.2.0), it works fine in Chrome. The problem goes away when Django is downgraded from 1.10.x to 1.9.13. The problem also goes away when the "required" attribute of these input fields are deleted using the Inspector tool in firefox:
<input autofocus=
<input class="
Steps to reproduce:
In local_settings.py, set:
WEBSSO_ENABLED = True
WEBSSO_CHOICES = (("mapped", _("Mapped")),)
Open the dashboard in Firefox and click "Connect".
Expected result:
Horizon redirects to /identity/
Actual result:
Horizon produces a small box in the upper left that says "Please fill out this field" with a little arrow that seems like it's intending to point to an empty field but is pointing to nothing in particular.
description: | updated |
Changed in horizon: | |
milestone: | none → pike-3 |
importance: | Undecided → High |
Changed in horizon: | |
assignee: | nobody → Rob Cresswell (robcresswell) |
Changed in horizon: | |
milestone: | pike-3 → pike-rc1 |
Changed in horizon: | |
status: | New → Confirmed |
Changed in horizon: | |
milestone: | pike-rc1 → pike-rc2 |
Changed in horizon: | |
status: | Incomplete → In Progress |
Changed in horizon: | |
milestone: | pike-rc2 → queens-1 |
tags: | added: keystone |
Changed in horizon: | |
milestone: | queens-1 → queens-2 |
tags: | added: pike-backport-potential |
Changed in horizon: | |
status: | In Progress → Fix Committed |
Update - the old behavior that I'm used to, where selecting a websso option from the "Authenticate using" dropdown made the username and password fields disappear (since they're not applicable any more), is gone since https:/ /review. openstack. org/#/c/ 477447/ was introduced. So now those fields stick around. With Django 1.10.x and 1.11.x they must be filled in, even with dummy values, in order to get past the login screen to the keystone redirect (for both chrome and firefox). On Django 1.9.13 it will let me click through without filling in the fields.