# HG changeset patch # User Jeff Hammel # Date 1388447359 28800 # Node ID d66d6c10cfe44689a5d3fe804102c6dbeb843d58 # Parent f2474ffcee96fa75f296bcbcc3b7b8008a56c876 refactor to .js file diff -r f2474ffcee96 -r d66d6c10cfe4 bitsyauth/js/persona.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bitsyauth/js/persona.js Mon Dec 30 15:49:19 2013 -0800 @@ -0,0 +1,45 @@ +// setup Mozilla persona +// requires: jquery + +function persona(loggedInUser) { + navigator.id.watch({ + loggedInUser: loggedInUser, + onlogin: function(assertion) { + // A user has logged in! Here you need to: + // 1. Send the assertion to your backend for verification and to create a session. + // 2. Update your UI. + $.ajax({type: 'POST', + url: '/auth/login', // This is a URL on your website. + data: {assertion: assertion}, + success: function(res, status, xhr) { window.location.reload(); }, + error: function(xhr, status, err) { + navigator.id.logout(); + alert("Login failure: " + err); + } + }); + }, + onlogout: function() { + // A user has logged out! Here you need to: + // Tear down the user's session by redirecting the user or making a call to your backend. + // Also, make sure loggedInUser will get set to null on the next page load. + // (That's a literal JavaScript null. Not false, 0, or undefined. null.) + // $.ajax({ + // type: 'POST', + // url: '/auth/logout', // This is a URL on your website. + // success: function(res, status, xhr) { window.location.reload(); }, + // error: function(xhr, status, err) { alert("Logout failure: " + err); } + // }); + }}); + + var signinLink = document.getElementById('signin'); + if (signinLink) { + signinLink.onclick = function() { + navigator.id.request(); + }; + } + + var signoutLink = document.getElementById('signout'); + if (signoutLink) { + signoutLink.onclick = function() { navigator.id.logout(); }; + } +} \ No newline at end of file diff -r f2474ffcee96 -r d66d6c10cfe4 example/persona.html --- a/example/persona.html Mon Dec 30 10:12:25 2013 -0800 +++ b/example/persona.html Mon Dec 30 15:49:19 2013 -0800 @@ -10,57 +10,10 @@