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.
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.