Skip to content

Access Token Service (AIS VO)

เอกสารนี้ระบุตรรกะของโปรแกรมและรายละเอียดส่วนต่อประสาน (Interface) ของ API สำหรับการขอรับ Access Token (Authentication) เพื่อใช้ในการเรียกใช้งาน API อื่นๆ ภายในระบบ AIS Virtual Organization (VO)

1. ภาพรวมโครงการ (Project Overview)

  • ชื่อระบบ: Virtual Organization (VO) on Azure Cloud
  • โมดูล: Authentication Service
  • วัตถุประสงค์: เพื่อตรวจสอบสิทธิ์การเข้าใช้งานระบบ (Application ID, Login Name, Password) และสร้าง Bearer Token (JWT) สำหรับใช้ในการยืนยันตัวตนในทุกๆ Request ของ API ปลายทาง

2. รายละเอียด API Interface

  • ชื่อ API: getAccessToken
  • Endpoint URL: https://sit-virtualorg-api.cdc.ais.th/api/authService/getAccessToken
  • HTTP Method: POST
  • Request Headers:
    • Content-Type: application/json

3. โครงสร้างข้อมูล (Data Structure)

3.1 พารามิเตอร์ขาเข้า (Request Body - JSON)

พารามิเตอร์ประเภทจำเป็นรายละเอียด
application_idStringใช่รหัสระบบที่ต้องการเข้าใช้งาน (เช่น ACIM, CCSM, MO, MyCorporate, FBB)
login_nameStringใช่ชื่อผู้ใช้งานสำหรับ API (API Login Name)
passwordStringใช่รหัสผ่านสำหรับ API (API Password)

3.2 ตัวอย่างการตอบกลับเมื่อสำเร็จ (Success Response - JSON)

json
{
    "status": true,
    "code": "100",
    "message": "success",
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

4. รายการระบบที่รองรับ (Supported Applications)

Application IDLogin NameDescription
My ChannelMCสำหรับระบบ My Channel
CCSMCCSMสำหรับระบบ Customer Care Service Management
FBBFBBWEBสำหรับระบบ FBB Web Register
FBBFBBSDสำหรับระบบ FBB Sales Digitize
MyOfficeMOสำหรับระบบ My Office
MyCorporateMYCORPสำหรับระบบ My Corporate
ACIMACIMสำหรับระบบ ACIM (Query/Authorize)

5. สถานการณ์การทดสอบ (Test Scenarios)

5.1 สถานการณ์ขาบวก (Positive Scenarios)

  • SN-001 ถึง SN-008: ทดสอบการ Login ผ่าน Channel ต่างๆ (Default, CCSM, My Channel, FBB, MO, MyCorp, ACIM) ด้วยข้อมูลที่ถูกต้อง
  • SN-009: เรียกใช้งาน API ปลายทาง (เช่น updateUserAuthorize) ด้วย Token ที่ถูกต้อง

5.2 สถานการณ์ขาลบและการตรวจสอบความปลอดภัย (Negative & Security Scenarios)

  • SN-010: ใช้ Token ข้ามระบบ (เช่น ใช้ Token ของระบบอื่นเรียก API ของ ACIM)
  • SN-011 ถึง SN-015: ทดสอบ JSON Syntax และ Format ผิดพลาด (Syntax Error, ใช้ = แทน :, ใช้ Single Quote, ไม่มี Quote ที่ Field Name, Body ว่าง)
  • SN-016 ถึง SN-017: ข้อมูล Login ไม่ถูกต้อง (Wrong login_name, Wrong password)
  • SN-018 ถึง SN-020: ขาดพารามิเตอร์ที่จำเป็น (Missing application_id, login_name, password)
  • SN-021 ถึง SN-026: พารามิเตอร์เป็นค่าว่าง ("") หรือค่า Null
  • SN-030: ส่งข้อมูลผิดประเภท (เช่น Password เป็น Number)
  • SN-031: ส่งข้อมูลแบบ Array แทน Object
  • SN-033: ส่งพารามิเตอร์เกินที่กำหนด

5.3 สถานการณ์ทางเทคนิค (Technical Scenarios)

  • SN-034 ถึง SN-038: URL ผิดพลาด (Wrong path, Case mismatch, Non-existing API, Unsupported version)
  • SN-039 ถึง SN-040: ใช้ HTTP Method ไม่ถูกต้อง (GET/PUT แทน POST)
  • SN-041: จำลองสถานการณ์ Internal Server Error (500)
  • SN-045: ตรวจสอบเวลาหมดอายุของ Token (Token Expiry)
  • SN-047: ทดสอบการใช้ Token ที่หมดอายุแล้ว
  • SN-048: ทดสอบการใช้ Token ที่ไม่ถูกต้องหรือมีการแก้ไข (Tampered Token)
  • SN-051: ตรวจสอบการจัดการ Token ระหว่างระบบที่แตกต่างกัน

6. ข้อกำหนดเพิ่มเติม (Additional Requirements)

  • Token Expiry: โดยปกติจะมีอายุการใช้งาน 12 ชั่วโมง (อ้างอิงจาก SN-045)
  • Authentication Method: ใช้มาตรฐาน Bearer Token ใน Request Header ของ API อื่นๆ (Authorization: Bearer <token>)