เปลี่ยนรหัสผ่าน

ใช้งานได้
POST/api/v1/auth/change-password

สมาชิกที่ login อยู่เปลี่ยนรหัสผ่านเอง — ยืนยันรหัสเดิมแล้วตั้งรหัสใหม่ · session ปัจจุบันใช้ต่อได้ ไม่ต้อง login ใหม่

เปลี่ยนสำเร็จแล้ว session ปัจจุบันยังใช้ได้ต่อ (ไม่ revoke)

Headers

ฟิลด์ชนิดจำเป็นคำอธิบาย
Authorizationstringใช่ใช้ — แนบ Bearer <access_token> ของสมาชิก
X-Api-Keystringใช่API key ของ agent (ak_…) จากหน้า bo
X-Timestampstringใช่เวลา sign เป็น unix milliseconds (คลาดเคลื่อนได้ ±300 วินาที)
X-Noncestringใช่ค่าไม่ซ้ำต่อ request (UUIDv4) กัน replay
X-Signaturestringใช่hex(HMAC-SHA256(secret, canonical)) — ดูหน้า Authentication
X-Player-IPstring—IP จริงของผู้เล่น (IPv4/IPv6) — แนะนำให้ส่ง (ใช้ใน login history)
X-Player-UAstring—User-Agent ของผู้เล่น (optional — ลง login history)
X-Request-Idstring—correlation id ของฝั่งคุณ — ระบบ echo กลับใน request_uuid (แนะนำให้ส่ง)
x-langstring—th (default) หรือ en — ภาษาของ message

Request bodyapplication/json

ฟิลด์ชนิดจำเป็นคำอธิบาย
current_passwordstringใช่รหัสผ่านปัจจุบัน — ระบบ verify กับ hash ที่เก็บไว้ก่อนเสมอ ไม่ตรง → 1005
new_passwordstringใช่รหัสผ่านใหม่ 6-72 ตัวอักษร (เกณฑ์เดียวกับตอนสมัคร)
ตัวอย่าง request
{
  "current_password": "P@ssw0rd123",
  "new_password": "N3wP@ssw0rd"
}

Response

ฟิลด์ใน data

ฟิลด์ชนิดจำเป็นคำอธิบาย
changedboolean—true = เปลี่ยนรหัสผ่านแล้ว — login ครั้งถัดไปใช้รหัสใหม่ ส่วน session/token ชุดปัจจุบันยังใช้ได้ตามปกติ
ตัวอย่าง response
{
  "success": true,
  "code": 0,
  "message": "สำเร็จ",
  "data": {
    "changed": true
  },
  "request_uuid": "5b8d2f91-3c47-4e60-a1d9-7f2e8c4b0a53"
}

Error codes ที่พบได้

codeชื่อHTTPข้อความ
1001UNAUTHORIZED401ไม่ได้รับอนุญาตไม่ได้แนบ Authorization: Bearer
1007TOKEN_INVALID401โทเค็นไม่ถูกต้องaccess token ไม่ถูกต้อง/หมดอายุ หรือ session ถูกเพิกถอนแล้ว (logout)
1005INVALID_CREDENTIALS401ข้อมูลเข้าสู่ระบบไม่ถูกต้องcurrent_password ไม่ตรงกับรหัสปัจจุบัน
1002FORBIDDEN403ไม่มีสิทธิ์เข้าถึงsession เป็นโหมด impersonation (อ่านอย่างเดียว) — เปลี่ยนรหัสผ่านไม่ได้
4001VALIDATION_ERROR400ข้อมูลไม่ถูกต้องnew_password สั้นกว่า 6 หรือยาวกว่า 72 ตัวอักษร
9003TOO_MANY_REQUESTS429คำขอมากเกินไป กรุณาชะลอความเร็วเกิน rate limit ของกลุ่ม auth (10 ครั้ง/นาที/IP)