From 2e7f0de9e9993db5a931b01377f0ebadeaeecf65 Mon Sep 17 00:00:00 2001 From: Lloyd Hilaiel <lloyd@hilaiel.com> Date: Tue, 6 Mar 2012 10:35:58 -0700 Subject: [PATCH] update in-tree example RP for event api --- example/rp/index.html | 66 +++++++++++++++++++++++++------------------ 1 file changed, 39 insertions(+), 27 deletions(-) diff --git a/example/rp/index.html b/example/rp/index.html index d14fa1ad6..0d95e9a31 100644 --- a/example/rp/index.html +++ b/example/rp/index.html @@ -15,10 +15,11 @@ BrowserID Relying Party body { margin: auto; font: 13px/1.5 Helvetica, Arial, 'Liberation Sans', FreeSans, sans-serif; } a:link, a:visited { font-style: italic; text-decoration: none; color: #008; } a:hover { border-bottom: 2px solid black ; } -.title { font-size: 2em; font-weight: bold; text-align: center; margin: 1.5em; } -.intro { font-size: 1.2em; width: 600px; margin: auto; } -.specify { font-size: 1.1em; width: 600px; padding-top: 2em; margin: auto; } -.assertion, .verifierResp { width: 600px; margin: auto; } +.title { font-size: 2em; font-weight: bold; text-align: center; margin: 1.5em auto 1.5em auto; } +.intro { font-size: 1.2em; } +.specify { font-size: 1.1em; padding-top: 2em; } +body div { width: 600px; margin: auto; } + pre { font-family: 'lucida console', monaco, 'andale mono', 'bitstream vera sans mono', consolas, monospace; border: 3px solid #666; @@ -31,7 +32,6 @@ pre { background-color: #333; /* white-space: pre;*/ font-size: .9em; - width:600px; word-wrap: break-word; } @@ -60,12 +60,6 @@ pre { <p>What flavor of assertion would you like?</p> <ul> <li> - <input type="checkbox" id="silent"> - <label for="silent">Silent</label> - </li><li> - <input type="checkbox" id="allowPersistent"> - <label for="allowPersistent">Allow persistent sign-in</label> - </li><li> <input type="checkbox" id="privacy"> <label for="privacy">Supply a privacy policy</label> </li><li> @@ -79,12 +73,22 @@ pre { <button>Get an assertion</button> </div> -<div class="verifierResp"> - <pre> ... verifier response ... </pre> +<div class="loginEvents"> + <h2>login events</h2> + <pre> ... login events ... </pre> +</div> + +<div class="logoutEvents"> + <h2>logout events</h2> + <pre> ... logout events ... </pre> +</div> + +<div class="loginCanceledEvents"> + <h2>loginCanceled events</h2> + <pre> ... loginCanceled events ... </pre> </div> -<div class="assertion"> - <pre> ... ye' ol' assertion ... </pre> + </body> </div> @@ -103,15 +107,29 @@ function checkAssertion(assertion) { audience: window.location.protocol + "//" + window.location.host }, success: function(data, textStatus, jqXHR) { - $(".verifierResp > pre").text(JSON.stringify(data, null, 4)); + $(".loginEvents > pre").text(JSON.stringify(data, null, 4)); }, error: function(jqXHR, textStatus, errorThrown) { var resp = jqXHR.responseText ? JSON.parse(jqXHR.responseText) : errorThrown; - $(".verifierResp > pre").text(resp); + $(".loginEvents > pre").text(resp); } }); }; +navigator.id.addEventListener('login', function(event) { + checkAssertion(event.assertion); +}); + +navigator.id.addEventListener('logout', function(event) { + var txt = 'got event at ' + (new Date).toString(); + $(".logoutEvents > .pre").text(txt); +}); + +navigator.id.addEventListener('loginCanceled', function(event) { + var txt = 'got event at ' + (new Date).toString(); + $(".logingCanceledEvents > .pre").text(txt); +}); + $(document).ready(function() { $(".specify button").click(function() { $("pre").text("... waiting ..."); @@ -119,21 +137,15 @@ $(document).ready(function() { var requiredEmail = $.trim($('#requiredEmail').val()); if (!requiredEmail.length) requiredEmail = undefined; - navigator.id.get(function(assertion) { - if (!assertion) { - $(".assertion pre").text("navigator.id.get() returns NULL"); - } else { - $(".assertion pre").text(assertion); - checkAssertion(assertion); - } - }, { - silent: $('#silent').attr('checked'), - allowPersistent: $('#allowPersistent').attr('checked'), + navigator.id.request({ privacyURL: $('#privacy').attr('checked') ? "/privacy.html" : undefined, tosURL: $('#tos').attr('checked') ? "/TOS.html" : undefined, requiredEmail: requiredEmail }); }); + + // explicitly trigger events at document ready + navigator.id.setLoggedInUser(null); }); </script> -- GitLab