Launchpad OpenID Provider generates malformed POST assertion responses

Bug #574911 reported by Forest
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Canonical SSO provider
Fix Released
Undecided
David Owen
Launchpad itself
Invalid
Undecided
Unassigned

Bug Description

When the Launchpad OpenID provider wants to produce an assertion that is too large for an http GET redirect, it correctly tries to produce an html form so the assertion can be POSTed instead. Unfortunately, the response it generates contains only a <form> element (no surrounding <html> or <body>) with a Content-Type of text/plain (instead of text/html). This ends up being rendered by Firefox as a raw html fragment, which is useless to the user. The OpenID assertion never reaches its destination.

This test tool can reproduce the problem:
http://test-id.net/OP/POSTAssertion.aspx

Testcase ISD_196

Related branches

Gary Poster (gary)
Changed in launchpad-foundations:
status: New → Triaged
importance: Undecided → Low
status: Triaged → New
importance: Low → Undecided
Gary Poster (gary)
Changed in launchpad-foundations:
status: New → Invalid
Changed in canonical-identity-provider:
milestone: none → 2.6.0
David Owen (dsowen)
Changed in canonical-identity-provider:
assignee: nobody → David Owen (dsowen)
David Owen (dsowen)
Changed in canonical-identity-provider:
status: New → In Progress
Revision history for this message
David Owen (dsowen) wrote :

The faulty response is coming from /<token>/+decide

Revision history for this message
Julien Funk (jaboing) wrote :

Note to QA: when the fix is ready it should be seen to fail, perhaps on the old staging system, then seen to pass properly

Changed in canonical-isd-qa:
assignee: nobody → Dave Morley (davmor2)
Tom Haddon (mthaddon)
tags: added: canonical-losa-isd
Revision history for this message
Stuart Metcalfe (stuartmetcalfe) wrote :
David Owen (dsowen)
Changed in canonical-identity-provider:
status: In Progress → Fix Committed
Revision history for this message
David Owen (dsowen) wrote :

To test:

1. Go to http://test-id.net/OP/POSTAssertion.aspx
2. Enter the public address of the test server (e.g. "http://my-test-server.net/") in the "OpenID Identifier" box
3. Click "Begin"

At this point you should see one of our SSO sign-in screens.

4. Login in or confirm access.

Failure mode: Text such as "<form ..." will be displayed.

Success mode: A web page with a brightly colored box indicating success.

Revision history for this message
Dave Morley (davmor2) wrote :

Need admin off lukasz tomorrow. Currently get no access.

Changed in canonical-isd-qa:
status: New → Incomplete
Revision history for this message
Dave Morley (davmor2) wrote :

This seems to pass using the steps above. The better test will be on staging though.

Changed in canonical-isd-qa:
status: Incomplete → Confirmed
Revision history for this message
Dave Morley (davmor2) wrote :

Passes on staging using a similarly long url

Changed in canonical-isd-qa:
status: Confirmed → Fix Committed
Revision history for this message
Dave Morley (davmor2) wrote :

https://bugs.launchpad.net/canonical-identity?orderby=-importance&search=Search&field.assignee=&field.searchtext=&field.has_patch=&field.omit_dupes=on&field.status=NEW&field.status=INCOMPLETE_WITH_RESPONSE&field.status=INCOMPLETE_WITHOUT_RESPONSE&field.status=CONFIRMED&field.status=TRIAGED&field.status=INPROGRESS&field.status=FIXCOMMITTED&field.bug_reporter=&field.has_no_package=

as my long url and dsowen suggestion both pass however the example given by Stuartm does due to a launchpad issue.

Comment on irc Lukasz confirmed there was an issue on Stuartm's link and I presented my url. At that everyone was happy this had passed and a new bug is being created for LP to deal with the issue there.

Changed in canonical-isd-qa:
status: Fix Committed → Triaged
David Owen (dsowen)
Changed in canonical-identity-provider:
status: Fix Committed → Fix Released
Dave Morley (davmor2)
description: updated
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.