Cookies ใน Koa.js

การจัดการ Cookies ใน Koa.js สามารถทำได้โดยใช้ middleware koa-cookie เพื่ออ่านและเขียนคุกกี้ในการร้องขอ (request) และการตอบสนอง (response) ของแอปพลิเคชันของคุณ. นี่คือวิธีการใช้ koa-cookie:

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

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

    1
    npm install koa-cookie

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

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

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

    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
    30
    31
    32
    const Koa = require('koa');
    const cookie = require('koa-cookie').default;

    const app = new Koa();

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

    // ตัวอย่างการอ่านคุกกี้จากการร้องขอ
    app.use(async (ctx) => {
    // อ่านคุกกี้ชื่อ username
    const username = ctx.cookies.get('username');

    // แสดงค่า username หากมีคุกกี้
    if (username) {
    ctx.body = `สวัสดี, ${username}!`;
    } else {
    ctx.body = 'ยินดีต้อนรับ!';
    }
    });

    // ตัวอย่างการเขียนคุกกี้ในการตอบสนอง
    app.use(async (ctx) => {
    // ตั้งค่าคุกกี้ชื่อ username ด้วยค่า "john" และหมดอายุใน 7 วัน
    ctx.cookies.set('username', 'john', { maxAge: 7 * 24 * 60 * 60 * 1000 });

    ctx.body = 'คุกกี้ถูกตั้งค่าแล้ว!';
    });

    app.listen(3000, () => {
    console.log('Server is running on port 3000');
    });
  3. อ่านและเขียนคุกกี้:

    ในตัวอย่างข้างต้น, เราใช้ ctx.cookies.get('cookieName') เพื่ออ่านคุกกี้จากการร้องขอ และ ctx.cookies.set('cookieName', 'cookieValue', options) เพื่อเขียนคุกกี้ในการตอบสนอง. คุณสามารถปรับแต่งคุกกี้ได้โดยใช้ตัวเลือกที่ถูกส่งไปยัง ctx.cookies.set() เช่น การกำหนดเวลาหมดอายุของคุกกี้ (maxAge) หรือการกำหนดโดเมนของคุกกี้ (domain).

  4. เรียกใช้แอปพลิเคชัน:

    เมื่อคุณรันแอปพลิเคชัน Koa.js และเข้าที่ http://localhost:3000, คุณจะเห็นข้อความ “ยินดีต้อนรับ!” บนหน้าเว็บเบราว์เซอร์. เมื่อคุณกดปุ่ม “เขียนคุกกี้,” คุกกี้ชื่อ “username” จะถูกตั้งค่าและสามารถอ่านได้ในการร้องขอถัดไป.

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