Improve account creation workflow

Bug #487218 reported by Anthony Lenton
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Canonical SSO provider
Fix Released
High
David Owen

Bug Description

(forwarded from a mail from Martin Albisetti)
Hello everyone,

Reviewing the SSO registration process with Anthony, I bumped into an issue I'd like us to consider solving before rolling out.
The current workflow is roughly as follows:

1) User clicks on "create account" on a "random" website
2) They get sent to a page where you're presented with a log in and a registration form
3) The user clicks on registration
4) The form asks them for their email address (and a captcha verification)
5) Email is sent with a verification URL
6) User clicks on the URL, get sent to back to the SSO page
7) SSO asks them for their name and password, user fills them in, submits
8) We present the user with a page that tells them what information will be sent to the site that sent them here, and ask them to explicitly submit it
9) User continues their flow on the site they started on

Besides this being too many steps, we split our the information gathering into 2 places, making the process even more confusing, especially if the email verification is done a long time after the process got started.

I spent quite a bit of time discussing this with James Henstridge and Steve Alexander a while back and we had found a better solution for this (and hopefully simple enough to implement now), without getting into creating accounts without verified email addresses, which is a complex and uncertain change.
It goes something roughly like this:

1) User clicks on "create account" on a "random" website
2) They get sent to a page where you're presented with a log in and a registration form
3) The user clicks on registration
4) The form asks for *all* the information (gets saves on a cookie, like the redirect URL)
5) Email is sent with a verification URL
6) User clicks on the URL, get sent to back to *the original site they came from* (we create the SSO account in the back, and don't ask them to verify the information they want to send, as they have already entered it into the system, prompted by the other site)

While this shouldn't block on testing the SSO service with Canonical sites, where everyone already has an SSO account, I feel it's important to do before it's rolled out to a public site, like Ubuntu One.

Related branches

visibility: public → private
Revision history for this message
Stuart Metcalfe (stuartmetcalfe) wrote :

It'd be good to implement asynchronous email verification where it's not immediately required to return a verified email. Of course, we don't want to go sending unverified emails to relying parties because they might not realise they're unverified and start sending actual emails to them.

visibility: private → public
Changed in canonical-identity-provider:
milestone: none → 2.7.0
Changed in canonical-identity-provider:
milestone: 2.7.0 → 2.8.0
Revision history for this message
Stuart Metcalfe (stuartmetcalfe) wrote :

Also, see the gdoc spec "Ubuntu SSO UX Specification" (ask Stu for the URL if it's not already in your available list)

Changed in canonical-identity-provider:
assignee: nobody → Matthew Nuzum (newz)
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
Anthony Lenton (elachuni) wrote :

Moved to 2.9.0 to make space in 2.8 for Ubuntu 10.10 critical tasks

Changed in canonical-identity-provider:
milestone: 2.8.0 → 2.9.0
Julien Funk (jaboing)
Changed in canonical-isd-qa:
milestone: none → canonical-identity-provider+2.9.0
Julien Funk (jaboing)
Changed in canonical-isd-qa:
importance: Undecided → Medium
Changed in canonical-identity-provider:
importance: Medium → High
Julien Funk (jaboing)
Changed in canonical-isd-qa:
importance: Medium → High
Revision history for this message
David Owen (dsowen) wrote :

This should have a mock-up to review before we start on the code, if possible.

Changed in canonical-identity-provider:
assignee: Matthew Nuzum (newz) → David Owen (dsowen)
David Owen (dsowen)
Changed in canonical-identity-provider:
status: Confirmed → In Progress
David Owen (dsowen)
Changed in canonical-identity-provider:
milestone: 2.9.0 → 2-implementation
David Owen (dsowen)
Changed in canonical-identity-provider:
milestone: 2-implementation → 3-internal-qa
status: In Progress → Fix Committed
Revision history for this message
David Owen (dsowen) wrote :

QA instructions:

This changes e-mails that are sent for account creation, but old e-mails will still be out there and supported. To test *that* aspect (support for older e-mails), do this:

Create an old-format e-mail:

 1. From the login screen, click "New account"
 2. Append a parameter named "old" the the URL

For example, for http://.../+new_account, add "?old" to the end. For http://.../+new_account?email=..., add "&old" to the end.

This part doesn't need testing, and will have a poorly styled form, but will create an old-format e-mail. Once you have that e-mail, try both the confirmation code and the link and ensure the account is properly created.

Julien Funk (jaboing)
Changed in canonical-isd-qa:
status: New → Confirmed
Revision history for this message
Julien Funk (jaboing) wrote :

Pass in staging.

Changed in canonical-isd-qa:
status: Confirmed → Fix Committed
David Owen (dsowen)
Changed in canonical-identity-provider:
milestone: 3-internal-qa → 4-staging
David Owen (dsowen)
Changed in canonical-identity-provider:
milestone: 4-staging → 5-production
Dave Morley (davmor2)
Changed in canonical-isd-qa:
status: Fix Committed → Fix Released
Changed in canonical-identity-provider:
status: Fix Committed → Fix Released
Changed in canonical-identity-provider:
milestone: 5-production → 2.9.0
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.