Sessions ใน Koa.js

การจัดการ Session ใน Koa.js ต้องใช้ middleware เพื่อเก็บข้อมูลของ session และทำให้ข้อมูล session สามารถเข้าถึงได้ระหว่างการร้องขอ (request) ต่าง ๆ โดยไม่ต้องสร้าง cookies แบบแม่แบบ. ในตัวอย่างนี้, เราจะใช้ koa-session เพื่อจัดการ sessions ใน Koa.js:

  1. ติดตั้งแพ็กเกจ koa-session:

    ใช้คำสั่ง npm เพื่อติดตั้ง koa-session:

    1
    npm install koa-session

    หรือถ้าคุณใช้ Yarn:

    1
    yarn add koa-session
  2. กำหนด middleware koa-session ในแอปพลิเคชัน Koa.js:

    ในแอปพลิเคชัน Koa.js ของคุณ, กำหนด middleware koa-session เพื่อเปิดใช้งานการจัดการ sessions:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    const Koa = require('koa');
    const session = require('koa-session');

    const app = new Koa();

    // กำหนดคีย์เริ่มต้นสำหรับการเข้ารหัส session
    app.keys = ['your-secret-key'];

    // กำหนด middleware koa-session
    app.use(session(app));

    // ตัวอย่างการอ่านและเขียนข้อมูล session
    app.use(async (ctx) => {
    // อ่านข้อมูล session
    const sessionData = ctx.session;

    // ตรวจสอบว่ามีค่า session หรือไม่
    if (sessionData.views) {
    sessionData.views++;
    } else {
    sessionData.views = 1;
    }

    ctx.body = `จำนวนการเข้าชม: ${sessionData.views}`;
    });

    app.listen(3000, () => {
    console.log('Server is running on port 3000');
    });
  3. เรียกใช้แอปพลิเคชัน:

    เมื่อคุณรันแอปพลิเคชัน Koa.js และเข้าที่ http://localhost:3000, แอปพลิเคชันจะเริ่มต้นการเก็บข้อมูล session และนับจำนวนการเข้าชม. การเข้าถึง session สามารถทำได้ผ่าน ctx.session.

การจัดการ session ใน Koa.js ด้วย koa-session ช่วยให้คุณสามารถเก็บข้อมูลของ session และใช้งานในการร้องขอต่อไปตามความต้องการของแอปพลิเคชันของคุณโดยไม่ต้องกังวลเรื่องการจัดการ cookies และเรื่องความปลอดภัยของข้อมูล session.