ใน ExpressJS, req.signedCookies เป็นคุณสมบัติที่เก็บคุกกี้ที่ลงชื่อใด ๆ ที่ส่งโดยคำขอปัจจุบัน
คุกกี้ที่ลงชื่อคือคุกกี้ที่มีค่าเริ่มต้นด้วย s: . ค่าเริ่มต้นนี้ถูกเพิ่มโดย middleware cookie-parser เมื่อคุกกี้ถูกส่งไปยังเซิร์ฟเวอร์
เมื่อใช้ cookie-parser middleware, req.signedCookies จะถูกตั้งค่าเป็นวัตถุ JavaScript ที่มีคุกกี้ที่ลงชื่อทั้งหมดเป็นคีย์-ค่า คู่
ตัวอย่างเช่น หากคุณมีแอปพลิเคชัน ExpressJS ที่ทำงานบน http://localhost:3000/ และผู้ใช้ส่งคำขอไปยัง URL http://localhost:3000/?user=John&age=25 req.signedCookies จะถูกตั้งค่าเป็น:
1 | { |
หากต้องการใช้ req.signedCookies ใน ExpressJS คุณสามารถใช้สิ่งนี้ในโค้ดของคุณ:
1 | const app = express(); |
เมื่อคุณเรียกใช้โค้ดนี้และเข้าถึง URL http://localhost:3000/?user=John&age=25 คุณจะเห็นข้อความ “The user is: John and their age is: 25” ในคอนโซล
req.signedCookies มีประโยชน์เมื่อคุณต้องการเข้าถึงคุกกี้ที่ลงชื่อใด ๆ ที่ส่งโดยคำขอปัจจุบัน ตัวอย่างเช่น คุณอาจต้องการใช้ req.signedCookies เพื่อตรวจสอบว่าผู้ใช้ที่มีสิทธิ์เข้าถึงทรัพยากรเฉพาะ
req.signedCookies แตกต่างจาก req.cookies ในสองวิธี:
- req.cookies จะเก็บคุกกี้ทั้งหมดที่ส่งโดยคำขอ current
- req.signedCookies จะเก็บเฉพาะคุกกี้ที่ลงชื่อเท่านั้น