การจัดการ Session ใน Koa.js ต้องใช้ middleware เพื่อเก็บข้อมูลของ session และทำให้ข้อมูล session สามารถเข้าถึงได้ระหว่างการร้องขอ (request) ต่าง ๆ โดยไม่ต้องสร้าง cookies แบบแม่แบบ. ในตัวอย่างนี้, เราจะใช้ koa-session
เพื่อจัดการ sessions ใน Koa.js:
ติดตั้งแพ็กเกจ
koa-session
:ใช้คำสั่ง npm เพื่อติดตั้ง
koa-session
:1
npm install koa-session
หรือถ้าคุณใช้ Yarn:
1
yarn add koa-session
กำหนด 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
29const 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');
});เรียกใช้แอปพลิเคชัน:
เมื่อคุณรันแอปพลิเคชัน Koa.js และเข้าที่ http://localhost:3000, แอปพลิเคชันจะเริ่มต้นการเก็บข้อมูล session และนับจำนวนการเข้าชม. การเข้าถึง session สามารถทำได้ผ่าน
ctx.session
.
การจัดการ session ใน Koa.js ด้วย koa-session
ช่วยให้คุณสามารถเก็บข้อมูลของ session และใช้งานในการร้องขอต่อไปตามความต้องการของแอปพลิเคชันของคุณโดยไม่ต้องกังวลเรื่องการจัดการ cookies และเรื่องความปลอดภัยของข้อมูล session.