ตัวอย่างจากสถานการณ์
ตัวอย่าง API Request ที่ตรวจ Authentication และ Authorization
แสดงจุดต่างระหว่างตรวจตัวตน ตรวจสิทธิ์ ตรวจ Input และ Business Rule ก่อนเข้าถึง Repository และสร้าง Response
สถานการณ์
Client ขออ่านข้อมูลที่ป้องกัน ระบบต้องตรวจ Token และ Scope ฝั่ง Server ก่อนเรียก Domain Service
- เริ่มต้น
Client ส่ง Request
ระบุ Method, Path, Header และ Payload ตามสัญญา
- ขั้นตอน
Gateway ตรวจขนาดและรูปแบบ
ปฏิเสธคำขอที่ผิดรูปแบบก่อนเข้าระบบหลัก
- ตัดสินใจ
ยืนยันตัวตนและสิทธิ์ผ่านหรือไม่
ตรวจ Credential และ Scope ฝั่ง Server
- ขั้นตอน
ประมวลผล Business Rule
ตรวจ Input ซ้ำในขอบเขต Domain
- สิ้นสุด
ตอบกลับ 401 หรือ 403
ไม่เปิดเผยรายละเอียดสิทธิ์เกินจำเป็น
- ขั้นตอน
อ่านหรือเขียนข้อมูลผ่าน Repository
ควบคุม Transaction และ Timeout
- ตัดสินใจ
ประมวลผลสำเร็จหรือไม่
แยกข้อผิดพลาดที่คาดได้จากความล้มเหลวภายใน
และอีก 2 Node ในเทมเพลต
ลำดับหลัก
- 1.Gateway ตรวจขนาดและรูปแบบ
- 2.ยืนยัน Token
- 3.ตรวจ Scope กับ Resource
- 4.เรียก Domain และ Repository
- 5.คืน Response พร้อม Correlation ID
ผลลัพธ์ที่ Flow ต้องแยกได้
- ตอบข้อมูลตามสิทธิ์
- ตอบ 401 เมื่อยืนยันตัวตนไม่ได้
- ตอบ 403 เมื่อไม่มี Scope โดยไม่เปิดเผยข้อมูลเป้าหมาย
นำโครงสร้างนี้ไปปรับใช้
เทมเพลตเป็นจุดเริ่มต้น ไม่ใช่นโยบายสำเร็จรูป ตรวจบทบาท กติกา ข้อมูลส่วนบุคคล และผลลัพธ์กับเจ้าของ Process ก่อนใช้จริง
แก้ Flow นี้ใน Editor