persona: un système d'identité pour le web
Post on 08-May-2015
514 Views
Preview:
DESCRIPTION
TRANSCRIPT
un système ouvertet fédéré pour
l'authentificationdes utilisateurs
une solution au problème desmots de passe sur le Web
pourquoi ?
difficilesà
retenir
c'est tropfacile de lesréutiliser
alternatives
décentralisé
moi.com/u/francois
vie privée®
comment çamarche ?
fmarier@gmail.com
<signatures numériques 101>
privée publique
publique
Je m'appelleFrançois Marieret mon adressede courriel esttrop longuepour cette note.
privée
Je m'appelleFrançois Marieret mon adressede courriel esttrop longuepour cette note.
publique
Je m'appelleFrançois Marieret mon adressede courriel esttrop longuepour cette note.
signer vérifier
</signatures numériques 101>
fmarier@gmail.com
authentification?
clé publique
authentification?
clé publique signée
clé publique
authentification?
Valide pour : 2 minutes
wikipedia.org
assertion
Valide pour : 2 minutes
wikipedia.org
vérifier l'audience
assertion
Valide pour : 2 minutes
wikipedia.org
vérifier l'audiencevérifier l'expiration
assertion
Valide pour : 2 minutes
wikipedia.org
vérifier l'audiencevérifier l'expirationvérifier la signature
assertion
assertion
Valide pour : 2 minutes
wikipedia.org
clé publique
assertion
Valide pour : 2 minutes
wikipedia.org
assertion
cookie
c'est pourquand ?
serveurs de courriel
navigateurs
fmarier@gmail.com
fmarier@gmail.com
serveurs de courriel
navigator.id.*
navigateurs modernes
>= 8
>= 8
navigateurs modernes
vous pouvez utiliser Personadès aujourd'hui
comment l'utilisersur votre site ?
<script src=”https://login.persona.org/include.js”></script></body></html>
navigator.id.watch({ loggedInEmail: “francois@mozilla.com”, onlogin: function (assertion) { $.post('/login', {assertion: assertion}, function (data) { // do something } ); }, onlogout: function () { window.location = '/logout'; }});
navigator.id.watch({ loggedInUser: “francois@mozilla.com”, onlogin: function (assertion) { $.post('/login', {assertion: assertion}, function (data) { // do something } ); }, onlogout: function () { window.location = '/logout'; }});
navigator.id.watch({ loggedInUser: null, onlogin: function (assertion) { $.post('/login', {assertion: assertion}, function (data) { // do something } ); }, onlogout: function () { window.location = '/logout'; }});
navigator.id.watch({ loggedInUser: null, onlogin: function (assertion) { $.post('/login', {assertion: assertion}, function (data) { // do something } ); }, onlogout: function () { window.location = '/logout'; }});
navigator.id.watch({ loggedInUser: null, onlogin: function (assertion) { $.post('/login', {assertion: assertion}, function (data) { window.location = '/'; } ); }, onlogout: function () { window.location = '/logout'; }});
navigator.id.request()
navigator.id.watch({ loggedInUser: null, onlogin: function (assertion) { $.post('/login', {assertion: assertion}, function (data) { window.location = '/'; } ); }, onlogout: function () { window.location = '/logout'; }});
navigator.id.watch({ loggedInUser: null, onlogin: function (assertion) { $.post('/login', {assertion: assertion}, function (data) { window.location = '/home'; } ); }, onlogout: function () { window.location = '/logout'; }});
$ curl -d "assertion=<ASSERTION>& audience=http://123done.org" https://verifier.login.persona.org/verify
$ curl -d "assertion=<ASSERTION>& audience=http://123done.org" https://verifier.login.persona.org/verify
{ status: “okay”,
audience: “http://123done.org”,
expires: 1344849682560,
email: “francois@mozilla.com”,
issuer: “login.persona.org”}
{ status: “failed”,
reason: “assertion has expired”}
navigator.id.logout()
navigator.id.watch({ loggedInUser: null, onlogin: function (assertion) { $.post('/login', {assertion: assertion}, function (data) { window.location = '/home'; } ); }, onlogout: function () { window.location = '/logout'; }});
1. charger bibliothèque JavaScript
1. charger bibliothèque JavaScript
2. écrire onlogin & onlogout
1. charger bibliothèque JavaScript
2. écrire onlogin & onlogout
3. ajouter boutons (dé)connexion
1. charger bibliothèque JavaScript
2. écrire onlogin & onlogout
3. ajouter boutons (dé)connexion
4. vérifier l'assertion
pour nous aider ...
utilisez Personasur votre site
dites-nous ce quevous en penser
demandez lesupport Persona
utilisez Personasur votre site
dites-nous ce quevous en penser
demandez lesupport Persona
utilisez Personasur votre site
dites-nous ce quevous en penser
demandez lesupport Persona
Pour en savoir plus :
https://login.persona.org/http://identity.mozilla.com/
https://developer.mozilla.org/docs/Persona/Why_Personahttps://developer.mozilla.org/docs/Persona/Quick_Setup
https://github.com/mozilla/browserid-cookbookhttps://developer.mozilla.org/docs/Persona/Libraries_and_plugins
http://123done.org/https://wiki.mozilla.org/Identity#Get_Involved
@fmarier http://fmarier.org
https://eyedee.me/.well-known/browserid:
{ "public-key": { "algorithm":"RS", "n":"8606...", "e":"65537" }, "authentication": "/browserid/sign_in.html", "provisioning": "/browserid/provision.html"}
document de support
© 2013 François Marier <francois@mozilla.com>Cette œuvre est mise à disposition selon les termes de laLicence Creative Commons Attribution - Partage dans les Mêmes Conditions 3.0 Nouvelle-Zélande.
Top 500 des mots de passe: http://xato.net/passwords/more-top-worst-passwords/
Parchemin: https://secure.flickr.com/photos/27613359@N03/6750396225/
Biscuits: https://secure.flickr.com/photos/jamisonjudd/4810986199/
Uncle Sam: https://secure.flickr.com/photos/donkeyhotey/5666065982/
Passeport canadien: https://secure.flickr.com/photos/rustyangel/5839428526/
Sources des photos :
top related