Slide 1

Slide 1 text

PRESENTED BY

Slide 2

Slide 2 text

PRESENTED BY

Slide 3

Slide 3 text

PRESENTED BY

Slide 4

Slide 4 text

PRESENTED BY 1 What are sessions? 2 Adding session management to a web app 3 What comes next? Agenda:

Slide 5

Slide 5 text

PRESENTED BY What are sessions? Request Request Response Response

Slide 6

Slide 6 text

PRESENTED BY Session ID Session Store Session ID and Session Data

Slide 7

Slide 7 text

PRESENTED BY Let’s look at an example!

Slide 8

Slide 8 text

PRESENTED BY express-session + connect-redis app.use(session({ genid: (req) => { return uuid() }, store: new redisStore({ host: 'localhost', port: 6379, client: redisClient }), name: '_redisDemo', secret: process.env.SESSION_SECRET, resave: false, cookie: { secure: false, maxAge: 60000 }, // Set to expire in 1 minute for demo purposes saveUninitialized: true }))

Slide 9

Slide 9 text

PRESENTED BY But what about authentication?

Slide 10

Slide 10 text

PRESENTED BY What did we add?

Slide 11

Slide 11 text

PRESENTED BY

Slide 12

Slide 12 text

PRESENTED BY You can use Redis as a cache and a session store! https://redislabs.com/blog/cache-vs-session-store/

Slide 13

Slide 13 text

PRESENTED BY Example repo: https://github.com/jankleinert/redis-session-demo Modules used in these examples: • express-session: https://www.npmjs.com/package/express-session • connect-redis: https://www.npmjs.com/package/connect-redis • uuid: https://www.npmjs.com/package/uuid • passport: https://www.npmjs.com/package/passport Cache vs. Session Store blog: https://redislabs.com/blog/cache-vs-session-store/ Redis Enterprise Operator: https://github.com/RedisLabs/redis-enterprise-k8s-docs Try the operator mini-lab: http://bit.ly/2NgxBaK Find me on Twitter/Github: jankleinert Resources

Slide 14

Slide 14 text

Thank you! Thank you!