User Story: Access Token Service (Authentication)
ในฐานะ: ระบบภายนอกที่ต้องการเชื่อมต่อกับ VO (เช่น ACIM, CCSM, MO, MyCorp, FBB) ฉันต้องการ: ขอรับ Access Token โดยการส่งข้อมูลประจำตัว (Application ID, Login Name, Password) ที่ถูกต้อง เพื่อที่จะ: สามารถนำ Token ไปใช้ในการเรียกใช้งาน API อื่นๆ ของระบบ VO ได้อย่างปลอดภัย
เกณฑ์การยอมรับ (Acceptance Criteria)
- การยืนยันตัวตนสำเร็จ (Successful Authentication):
- เมื่อระบบส่ง
application_id,login_name, และpasswordที่ถูกต้อง ระบบต้องคืนค่าstatus: true,code: "100"พร้อมกับaccess_token(JWT)
- เมื่อระบบส่ง
- การรองรับระบบต่างๆ (Multi-system Support):
- ระบบต้องรองรับการขอ Token จากระบบที่กำหนดไว้ ได้แก่ My Channel (MC), CCSM, FBB (Web/SD), MyOffice (MO), MyCorporate (MYCORP), และ ACIM
- ความปลอดภัยของ Token (Token Security):
- Access Token ที่สร้างขึ้นต้องมีอายุการใช้งาน 12 ชั่วโมง
- ระบบต้องไม่อนุญาตให้ใช้ Token ของระบบหนึ่งไปเรียกใช้งาน API ที่สงวนไว้เฉพาะอีกระบบหนึ่ง (เช่น Token ของ MO ไม่สามารถใช้กับ API ของ ACIM ได้)
- การจัดการข้อผิดพลาด (Error Handling):
- หากข้อมูล Login ผิดพลาด (Username/Password ผิด) ระบบต้องส่ง Error กลับพร้อม
resultCode = 200 - หากรูปแบบ JSON ไม่ถูกต้อง (Syntax Error) ระบบต้องส่งข้อความ
Invalid Request
- หากข้อมูล Login ผิดพลาด (Username/Password ผิด) ระบบต้องส่ง Error กลับพร้อม
- การตรวจสอบพารามิเตอร์ (Parameter Validation):
- ระบบต้องตรวจสอบว่ามีการส่งพารามิเตอร์ที่จำเป็นครบถ้วน หากขาดตัวใดตัวหนึ่งต้องแจ้งเตือน
Required Value Missing
- ระบบต้องตรวจสอบว่ามีการส่งพารามิเตอร์ที่จำเป็นครบถ้วน หากขาดตัวใดตัวหนึ่งต้องแจ้งเตือน