← Back to team overview

mahara-contributors team mailing list archive

[Bug 1331319] Re: Using Persona login at the transient login page, does not return you to the page you requested

 

The Mahara browserid/Persona plugin uses the older "navigator.id.get()"
API to do login and logout: https://developer.mozilla.org/en-
US/Persona/The_navigator.id_API#The_Callback_API

The crucial part of this, is that clicking that "Persona" button calls
navigator.id.get() with a callback method. Our callback method simply
submits a hidden form on the login page, and the hidden form submits you
to login.php, verifies some stuff with browserid to make sure you are
logged in successfully, and then it sets up your Mahara session and
sends you to the dashboard page.

So, the fix is to put the requested URL into that hidden form so that it
gets passed to login.php, and then tell login.php to redirect you to
that page instead of the dashboard.

-- 
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1331319

Title:
  Using Persona login at the transient login page, does not return you
  to the page you requested

Status in Mahara ePortfolio:
  In Progress

Bug description:
  The "transient login page" is the page you see when you're logged out
  and you try to access a page that's not accessible to logged-out
  users. It contains only a login form.

  If you fill in your username and password on that login form, then you
  are forwarded on to the page that you originally requested.

  But! This doesn't work for Persona. If you click the Persona link and
  login that way, you are sent to the Mahara homepage.

  To replicate:

  1. You have a Mahara site with the Persona auth plugin turned on.
  2. You are currently logged out of that site.
  3. You receive an email with a link to a page in that site, which is only accessible to logged in users. e.g.: http://example.com/view/view.php?id=8
  4. You click on that link
  5. Since you are logged out, you see the transient login page, which contains only the login form and the Persona button.
  6. You click the Persona button and log into Persona in the popup window.

  Expected Result: The login popup should close, and you should be
  redirected back to http://example.com/view/view.php?id=8

  Actual result: The login popup closes, and you are redirected to the
  dashboard, http://example.com/

To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1331319/+subscriptions


References