view bitsyauth/js/persona.js @ 50:5517ac16c9fb

comment+whitespace
author Jeff Hammel <jhammel@mozilla.com>
date Mon, 30 Dec 2013 22:55:29 -0800
parents 8358634e3d75
children
line wrap: on
line source

// setup Mozilla persona
// requires: jquery

function persona(loggedInUser, onloginURL, onlogoutURL) {


    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: onloginURL, // 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: onlogoutURL, // This is a URL on your website.
                                    success: function(res, status, xhr) { window.location.reload(); },
                                    error: function(xhr, status, err) {
                                        alert("Logout failure: " + err);
                                    }
                                   });
                        }
                       });

  // add click handlers to signin, signout buttons
  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();
      };
  }
}