Skip to content
Snippets Groups Projects
  1. Aug 10, 2012
    • Brian Warner's avatar
      update stalled-mysql tests to match new behavior · 866d3e11
      Brian Warner authored
      All wsapi operations now require the database (to update+check the
      superSessionToken), so some tests that previously expected operations to
      succeed without a database now expect them to fail (generally 503).
      
      wsapi_client.js was changed to pass HTTP errors during
      /wsapi/session_context back to the caller, so their response code can be
      checked, rather than throwing an error (and preventing any other
      assertions from being made).
      866d3e11
    • Brian Warner's avatar
      add checkExpiredSession check, set session.superSessionToken, add DB methods · 1b0444d8
      Brian Warner authored
      With this change, existing session cookies are invalidated when the user
      changes their password. This will also support a "log me out of
      everywhere" button, which merely needs to update the superSessionToken
      as if the password was changed.
      
      This adds .superSessionToken to all sessions in
      wsapi.authenticateSession, and checks it against the database row in
      during a new checkExpiredSession() call (run for all /wsapi requests,
      both GETs and POSTs).
      
      All database methods which create an account or modify the password were
      changed to also set .superSessionToken (to the current time).
      updatePassword() added an 'invalidateSessions' argument so passwords can
      be rehashed (when the bcrypt work factor changes) *without* invalidating
      sessions. Finally, the database added a new method named
      superSessionToken() to retrieve the current value, for comparison in
      checkExpiredSession().
      
      wsapi/update_password.js is changed to add a call to authenticateSession
      after changing the password, to update the cookie with the new
      .superSessionToken. This ensures that the user's new session works on
      the next call after update_password.
      
      Database rows that don't have a superSessionToken (created before the
      code was upgraded to include this change) will not enforce
      session-checking, so user sessions will not be spontaneously expired
      when the server is upgraded past this revision.
      1b0444d8
    • Brian Warner's avatar
      enhance test/lib/wsapi.js to accept alternate contexts · c3e81376
      Brian Warner authored
      This makes it possible to test two distinct sessions at the same time,
      needed to exercise expiring one session when the password is changed in
      a second session.
      c3e81376
    • Brian Warner's avatar
      authenticate_user: factor out updateHash code · 719ac966
      Brian Warner authored
      After the user is authenticated, we might update the hashed password if
      the bcrypt work factor has been changed. To simplify the code in
      preparation for later changes, this patch extracts the updateHash() code
      out to a separate function.
      
      Note that this function must run *after* the `res.json()` call for two
      reasons. The first is to avoid slowing down the client (send answer
      first, do work later). The second is to get the right session cookie
      into the POST that we send to ourselves (to /wsapi/update_password) that
      does the actual hash updated. The session is updated in
      wsapi.authenticateSession, but the cookie isn't regenerated until the
      call to `res.json()`, and the POST is sneakily grabbing the cookie out
      of the response's Set-Cookie header to copy into the request-to-self.
      719ac966
    • Brian Warner's avatar
      wsapi.authenticateSession: async-ify, combine args into a single 'options' · b473c4dd
      Brian Warner authored
      This includes an error-handling argument to the callback.
      b473c4dd
    • Brian Warner's avatar
      f93964f2
    • Brian Warner's avatar
      wsapi cleanup: factor out checkCSRF() · 49b46fd5
      Brian Warner authored
      49b46fd5
    • Zach Carter's avatar
      Merge pull request #2267 from mozilla/issue_1990_deprecate_getVerifiedEmail · b1c9cca9
      Zach Carter authored
      Adding a deprecation warning for navigator.id.getVerifiedEmail
      b1c9cca9
    • Shane Tomlinson's avatar
    • Shane Tomlinson's avatar
      Merge pull request #2202 from mozilla/issue_1438_tos_priv · cc0ba1cc
      Shane Tomlinson authored
      Add a console message if only one of privacyPolicy or termsOfService is defined.
      
      Adding @seanmonstar's suggestion to the PR which already got a "looks good from here"
      
      close #1438
      cc0ba1cc
    • Shane Tomlinson's avatar
    • Shane Tomlinson's avatar
  2. Aug 09, 2012
  3. Aug 08, 2012
  4. Aug 07, 2012
Loading