ฉันอ่านโพสต์เกี่ยวกับ"JWT vs Cookie"แต่มันทำให้ฉันสับสนมากขึ้นเท่านั้น ...
ฉันต้องการคำชี้แจงเมื่อมีคนพูดถึง "การรับรองความถูกต้องโดยใช้โทเค็นเทียบกับคุกกี้" คุกกี้ในที่นี้หมายถึงคุกกี้เซสชันเท่านั้นหรือไม่ ความเข้าใจของฉันคือคุกกี้เป็นเหมือนสื่อสามารถใช้เพื่อใช้การตรวจสอบความถูกต้องโดยใช้โทเค็น (เก็บสิ่งที่สามารถระบุผู้ใช้ที่ลงชื่อเข้าใช้ในฝั่งไคลเอ็นต์ ) หรือการพิสูจน์ตัวตนตามเซสชัน (เก็บค่าคงที่ในฝั่งไคลเอ็นต์ ที่ตรงกับข้อมูลเซสชันทางฝั่งเซิร์ฟเวอร์ )
ทำไมเราต้องโทเค็นเว็บ JSON ? ฉันใช้คุกกี้มาตรฐานเพื่อใช้การรับรองความถูกต้องโดยใช้โทเค็น ( ไม่ใช้รหัสเซสชันไม่ใช้หน่วยความจำเซิร์ฟเวอร์หรือที่เก็บไฟล์ ):
Set-Cookie: user=innocent; preferred-color=azure
และข้อแตกต่างเพียงอย่างเดียวที่ฉันสังเกตเห็นคือ JWT มีทั้งน้ำหนักบรรทุกและลายเซ็น ... ในขณะที่คุณสามารถเลือกได้ ระหว่างคุกกี้ที่ลงชื่อหรือข้อความธรรมดาสำหรับส่วนหัว http ในความคิดของฉันคุกกี้ที่ลงชื่อ (cookie:'time=s%3A1464743488946.WvSJxbCspOG3aiGi4zCMMR9yBdvS%2B6Ob2f3OG6%2FYCJM'
) มีประสิทธิภาพในการใช้พื้นที่มากกว่าข้อเสียเปรียบเพียงประการเดียวคือไคลเอนต์ไม่สามารถอ่านโทเค็นได้มีเพียงเซิร์ฟเวอร์เท่านั้นที่ทำได้ ... แต่ฉันคิดว่าดีเพราะเช่นเดียวกับการอ้างสิทธิ์ใน JWT เป็นทางเลือกไม่จำเป็นสำหรับโทเค็น มีความหมาย