ฉันกำลังเขียนแอปแบบไร้เซิร์ฟเวอร์ด้วย AWS (Lambda, API Gateway, Cognito ฯลฯ) และฉันพบว่าตัวเองกำลังสงสัยว่าจะรักษาความปลอดภัยสแต็กของฉันให้ดีที่สุดได้อย่างไร
ฉันได้อ่านมาว่าสำหรับแอปพลิเคชันที่ใช้เซิร์ฟเวอร์ EC2 หรืออย่างอื่น แนวทางปฏิบัติที่ดีที่สุดคือเก็บโทเค็น ID ของผู้ใช้ไว้ที่แบ็กเอนด์ สิ่งนี้สมเหตุสมผล เนื่องจากกระบวนการโหนดจะให้วิธีแก้ปัญหาระยะยาวแก่ฉันสำหรับการแขวนและนำโทเค็น ID มาใช้ซ้ำ ในทางกลับกัน แอปแบบไร้เซิร์ฟเวอร์ไม่ได้ให้ความหรูหราขนาดนี้ ฉันคิดว่าจะเก็บไว้ที่ส่วนหน้า เนื่องจากท้ายที่สุดแล้ว โทเค็น JWT ที่จัดทำโดย Cognito ได้รับการลงนามแล้ว และดังนั้นจึงควรเป็นหลักฐานการงัดแงะ แต่ดูเหมือนว่าจะไม่มั่นคงเล็กน้อยจากฝั่งของฉัน ฉันชอบระบบที่ผู้ใช้ไม่สามารถเข้าถึงโทเค็นของตนเองได้โดยตรง ฉันเคยคิดที่จะขอโทเค็นใหม่สำหรับทุกคำขอที่ส่งไปยัง Lambda แต่นี่ก็ดูเหมือนจะยังห่างไกลจากวิธีแก้ปัญหาที่สมบูรณ์แบบเช่นกัน
มีแนวทางปฏิบัติที่ดีที่สุดที่ได้รับการยอมรับเกี่ยวกับการรับรองความถูกต้องและการอนุญาตแบบไร้เซิร์ฟเวอร์หรือไม่ ฉันมาถูกทางแล้วที่จัดเก็บโทเค็นฝั่งไคลเอ็นต์ในขณะที่ผู้ใช้เปิดแอปอยู่หรือไม่