TypeScript x Express x Session の実装
ちょくちょく express-session
を使うのだけど実装方法を、
その都度調べながらやっているので、やり方をメモ... 📝
SessionOptionsを書き換えて使う
// session.ts import * as express from 'express'; import * as ExpressSession from 'express-session'; import { createClient, RedisClient } from 'redis'; import * as connectRedis from 'connect-redis'; const redisClient: RedisClient = createClient({ host: process.env.REDIS_HOST, port: parseInt(process.env.REDIS_PORT), prefix: process.env.REDIS_PREFIX, }); const SessionRedisStore: connectRedis.RedisStore = connectRedis(ExpressSession); const redisStore: connectRedis.RedisStore = new SessionRedisStore({ client: redisClient, }); const sessionOption: ExpressSession.SessionOptions = { secret: process.env.REDIS_SECRET, resave: true, saveUninitialized: false, store: redisStore, }; const session: express.RequestHandler = ExpressSession(sessionOption); export default session;
使い方
// index.ts import session from './session' const app = express() app.use(session)