mozilla / persona-gmail-bridge

An experiment in building a minimal identity bridge for Gmail
Mozilla Public License 2.0
11 stars 6 forks source link

IE loses claimed email; authentication fails. #119

Open callahad opened 11 years ago

callahad commented 11 years ago

Broken out from https://github.com/mozilla/browserid/issues/3904

@richardcrichardc reports that the Gmail bridge completely fails on IE 9 and IE 10 on Windows 7.

Screenshots:

done-ie9

123done-ie10

This error is thrown by /authenticate/verify (the OpenID return path), as part of this check at the start of the function:

  if (!email.valid(req.session.claimed)) {
    return res.status(400).render('error',
      { title: req.gettext('Error'), errorInfo: 'Invalid or missing claim.' });
  }

req.session.claimed should've be set to req.query.email when the UA hits /authenticate/forward. If req.query.email was missing or invalid, /authenticate/forward route would throw an error, and we'd never get to /authenticate/verify. So we know we're succeeding there.

Somewhere between hitting /authenticate/forward and returning to /authenticate/verify, we're evidently losing session.email. Hrmph.