Authentification et autorisation décentralisée avec JWT et Macaroons

A presentation at Devoxx France in April 2018 in Paris, France by Julien Tanguy

Slide 1

Slide 1

AUTHENTIFICATION ET AUTORISATION DÉCENTRALISÉE AVEC JWT ET MACAROONS @jutanguy #DevoxxFR

Slide 2

Slide 2

@jutanguy #DevoxxFR

Slide 3

Slide 3

Authentification Qui suis-je ? @jutanguy #DevoxxFR

Slide 4

Slide 4

Autorisation Qu'ai-je le droit de faire ? @jutanguy #DevoxxFR

Slide 5

Slide 5

@jutanguy #DevoxxFR

Slide 6

Slide 6

@juta guy @jutanguy e o #DevoxxFR

Slide 7

Slide 7

@juta guy e o JSON Web Tokens Macaroons @jutanguy #DevoxxFR

Slide 8

Slide 8

Standards @jutanguy #DevoxxFR

Slide 9

Slide 9

Formats Standards Formats de données et de sérialisation @jutanguy #DevoxxFR

Slide 10

Slide 10

OAuth OpenID Cookies @jutanguy Autres Standards #DevoxxFR

Slide 11

Slide 11

@juta guy e o Similitudes Tokens Payload Signature (basée sur un secret) @jutanguy #DevoxxFR

Slide 12

Slide 12

@juta guy e o JSON Web Token @jutanguy #DevoxxFR

Slide 13

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

Slide 14

Code @jutanguy #DevoxxFR

Slide 15

Slide 15

Macaroons @jutanguy #DevoxxFR

Slide 16

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

Slide 17

Code @jutanguy #DevoxxFR

Slide 18

Slide 18

@juta guy e o JWT Fermé Claims (additif) @jutanguy #DevoxxFR Macaroons Ouvert Caveats (soustractif)

Slide 19

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