POST/api/auth/login

เข้าสู่ระบบให้ผู้ใช้และออก Session-JWT พร้อมโทเค็นรีเฟรช นี่เป็นวิธีเดียวที่จะได้โทเค็นการเข้าถึงที่ใช้ได้สำหรับแดชบอร์ด — ไม่มีระบบคีย์ API สำหรับนักพัฒนาแยกต่างหาก

การยืนยันตัวตนและความปลอดภัย

ไม่ต้องยืนยันตัวตน

การหน่วงแบบค่อยเป็นค่อยไปสำหรับการโจมตีแบบ Brute-Force ต่ออีเมล/ชื่อผู้ใช้ (authGuard) -- ความพยายามที่ล้มเหลว 10 ครั้งภายใน 5 นาทีจะทำให้เกิดความล่าช้าเพิ่มขึ้น และตั้งแต่ 30 ครั้งจะถูกบล็อก

Idempotent (เรียกซ้ำได้ผลเหมือนเดิม): ไม่

พารามิเตอร์

identifier(body, string, จำเป็น)— ที่อยู่อีเมลหรือชื่อผู้ใช้
password(body, string, จำเป็น)— รหัสผ่าน

ตัวอย่างคำขอ

{"identifier":"user@example.com","password":"รหัสผ่านของคุณ"}

ตัวอย่างการตอบกลับ

{"ok":true,"token":"<JWT, ใช้ได้ 12 ชม.>","refreshToken":"<Refresh-Token, ใช้ได้ 7 วัน, ใช้ได้ครั้งเดียว>","user":{"id":"...","tenant_id":"...","email":"user@example.com","role":"EMPLOYEE","roles":[],"permissions":[],"isMasterAdmin":false}}

รหัสข้อผิดพลาด

401 INVALID_CREDENTIALS — อีเมล/ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง
429 RATE_LIMIT_EXCEEDED — มีความพยายามที่ล้มเหลวมากเกินไปสำหรับตัวระบุหรือที่อยู่ IP นี้

หลักฐานการทดสอบแบบสด

ตรวจสอบสดแล้วบนสแตกทดสอบที่แยกต่างหาก: กรณีสำเร็จ (200, JWT จริงพร้อม Refresh-Token) และกรณีล้มเหลว (401 เมื่อรหัสผ่านผิด)

← การยืนยันตัวตน