Comment 2 for bug 1331319

Revision history for this message
Aaron Wells (u-aaronw) wrote :

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.