Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Everybody Hates Passwords - With Persona, Your Site Doesn't Need One.

Everybody Hates Passwords - With Persona, Your Site Doesn't Need One.

Slides for the Persona talk I was to give at Front Trends in Warsaw, but had to pull out of at the last moment.

Shane Tomlinson

April 24, 2013
Tweet

More Decks by Shane Tomlinson

Other Decks in Programming

Transcript

  1. 3rd Party Authentication • Eliminate site specific usernames and passwords

    • No password database to worry about • No email verification or resets
  2. 3rd Party Authentication • Eliminate site specific usernames and passwords

    • No password database to worry about • No email verification or resets • They do security better than you do
  3. <script> navigator.id.watch({ signedInUser: <null || [email protected]>, onlogin: function(assertion) { //

    more on this later }, onlogout: function() { window.location = '/logout'; } }); </script> Setup navigator.id.watch
  4. signedInUser: <null || [email protected]>, onlogin: function(assertion) { $.post('/login', {assertion: assertion},

    function (data) { window.location = '/home'; } ); }, onlogout: function() { Send assertion to backend for verification
  5. function onlogin(assertion) { var body = qs.stringify({ assertion: assertion, audience:

    'http://123done.org' }); var request = https.request({ host: 'verifier.login.persona.org', path: '/verify', method: 'POST', headers: { 'content-type': 'application/x-www-form-urlencoded', 'content-length': body.length } }, onVerifyResp); request.write(body); request.end(); } Server side assertion verification
  6. • Existing solutions are not good enough • Persona is

    easy • A decentralized solution that just works • Persona is easy to integrate, no crypto required
  7. You can help! Add Persona to your site Tell us

    about it (good and bad) Ask one site to support Persona