AUTHENTIFICATION ET AUTORISATION DÉCENTRALISÉE AVEC JWT ET MACAROONS
@jutanguy
#DevoxxFR
Slide 2
@jutanguy
#DevoxxFR
Slide 3
Authentification Qui suis-je ?
@jutanguy
#DevoxxFR
Slide 4
Autorisation Qu'ai-je le droit de faire ?
@jutanguy
#DevoxxFR
Slide 5
@jutanguy
#DevoxxFR
Slide 6
@juta guy
@jutanguy
e o
#DevoxxFR
Slide 7
@juta guy
e o
JSON Web Tokens Macaroons
@jutanguy
#DevoxxFR
Slide 8
Standards
@jutanguy
#DevoxxFR
Slide 9
Formats Standards Formats de données et de sérialisation
@jutanguy
#DevoxxFR
Slide 10
OAuth OpenID Cookies
@jutanguy
Autres Standards
#DevoxxFR
Slide 11
@juta guy
e o
Similitudes
Tokens Payload Signature (basée sur un secret)
@jutanguy
#DevoxxFR
Slide 12
@juta guy
e o
JSON Web Token
@jutanguy
#DevoxxFR
Slide 13
@juta guy
e o
Structure d'un JWT { "alg": "HS256", "typ": "JWT" } { "jti": "c2e56471-9241-44bc-a6be-6ad3763d2847", "sub": "jtanguy", "exp": 1524080400, "name": "Julien Tanguy", "role": ["SPEAKER"], "isAdmin": false } //sig: nM7tTFMVo9YmJmwoiXn69C-R_AFm0m2EJBS-lKpz30w
@jutanguy
#DevoxxFR
Slide 14
Code @jutanguy
#DevoxxFR
Slide 15
Macaroons @jutanguy
#DevoxxFR
Slide 16
@juta guy
e o
Structure d'un Macaroon location: jtanguy.me identifier: 62f1b07b-5e6a-4894-94b8-fb461e6cf817 caveats: - "conf=devoxxfr-2018" - "time<2018-04-19" signature: c515199939b5905d2dbad52261a93712acc 32c4c1c13876c39ddf0cc62726b21
@jutanguy
#DevoxxFR
Slide 17
Code @jutanguy
#DevoxxFR
Slide 18
@juta guy
e o
JWT
Fermé Claims (additif)
@jutanguy
#DevoxxFR
Macaroons Ouvert Caveats (soustractif)
Slide 19
Références et liens
jwt.io macaroons.io
100% Stateless avec JWT (JSON Web Token) par Hubert Sablonnière, Devoxx FR 2016 Macarons, des cookies en mieux ! par Julien Tanguy, Devfest Nantes 2017
@jutanguy
#DevoxxFR