โมดูล Auth ให้การรับรองความถูกต้องและการอนุญาตสำหรับแอปพลิเคชันของคุณ รวมถึงการจัดการผู้ใช้ การจัดการกลุ่ม การลงทะเบียนผู้ใช้ การเข้าสู่ระบบ และฟังก์ชันที่เกี่ยวข้อง ติดตั้งโดยอัตโนมัติเมื่อสร้างโครงการ

ล็อกอินผู้ใช้และรหัสผ่านผู้ดูแลระบบเริ่มต้นมีดังนี้:
- Login : [email protected]
- Password : appmaster
การตั้งค่าโมดูล สามารถกำหนดค่าได้ด้วยวิธีต่อไปนี้:
- SignUp Groups : กำหนดรายชื่อกลุ่มที่ผู้ใช้สามารถลงทะเบียน;
- SignUp : อนุญาตให้ผู้ใช้ลงทะเบียนและรับบัญชีในแอปพลิเคชัน
- Session timeout (minutes) : กำหนดเวลาที่เซสชันของผู้ใช้ปัจจุบันจะสิ้นสุดลงหากผู้ใช้ไม่ได้ใช้งาน เริ่มต้น 60 นาที;
- Failed login delay (in ms) : กำหนดเวลาการหน่วงเวลาสำหรับการตอบสนองหลังจากการพยายามเข้าสู่ระบบที่ล้มเหลว เริ่มต้น 0ms;
- Email confirmation required : กำหนดว่าผู้ใช้ต้องยืนยันการลงทะเบียนทางอีเมลหรือไม่;
- Signed-Up User Active : ตั้งค่า active=true สำหรับแต่ละวัตถุผู้ใช้ที่สร้างขึ้นใหม่หากเปิดใช้งาน
- แท็บ Groups อนุญาตให้สร้างและกำหนดค่ารายการกลุ่มผู้ใช้

โมเดล User และ User Session จะถูกสร้างขึ้นโดยอัตโนมัติเมื่อมีการติดตั้งโมดูล Auth คุณสามารถค้นหาได้ในแท็บ Data Design ไม่สามารถกำหนดค่าแอตทริบิวต์เริ่มต้นของโมเดลเหล่านี้ได้ แต่สามารถเพิ่มแอตทริบิวต์ใหม่ได้

BP ที่เกี่ยวข้องกับ User, User Session และ Auth Module การตรวจสอบสิทธิ์
กระบวนการทางธุรกิจที่ติดตั้งไว้ล่วงหน้าที่เกี่ยวข้องกับแบบจำลอง User และ User Session มีดังนี้:
-
รุ่น User
- DB: Delete User: ลบ User object จากฐานข้อมูลตาม ID ;

- DB: Update User : รีเซ็ตฟิลด์ทั้งหมดของออบเจ็กต์โมเดลที่กำหนดในฐานข้อมูลและอัปเดตด้วยค่าที่กำหนด ( DB: Patch User ตช์เพื่อเปลี่ยนฟิลด์ที่ให้มาเท่านั้นและคงไว้ตามเดิม);

- DB: Create User : สร้างเรกคอร์ดในฐานข้อมูลและส่งคืนออบเจ็กต์ User model (ต้องใช้ Make User block เพื่อสร้าง User model object ตามฟิลด์อินพุต);

- DB: Soft Delete User : อัพเดตฟิลด์ DeletedAt ของอ็อบเจ็กต์ User model ที่เลือก แทนที่จะลบเรกคอร์ดทั้งหมดตามที่ DB: Delete User ทำ;

- DB: Bulk Delete User : ลบชุดของเร็กคอร์ดอ็อบเจกต์โมเดล User จำนวนมากด้วย IDs ที่กำหนด ( ids array); failed_ids – อาร์เรย์ของ IDs ผู้ใช้ที่จะไม่ถูกลบ

- DB: Patch User : อัพเดตฟิลด์ที่เลือกของวัตถุ User model ในฐานข้อมูล ( DB: Update User ต้องใช้เพื่อรีเซ็ตฟิลด์ทั้งหมด);

- DB: Search User : ค้นหาออบเจ็กต์ User model หนึ่งหรือหลายรายการในฐานข้อมูลตามฟิลด์และส่งคืน

- DB: GetOne User : ค้นหาออบเจ็กต์ User model ตาม ID และส่งคืน

- Expand User : ส่งคืนฟิลด์ทั้งหมดของวัตถุโมเดล User ที่เลือก

- Make User : ทำให้วัตถุ User model ตามฟิลด์อินพุต (จำเป็นต้องใช้ DB: Create User เพื่อสร้างบันทึกในฐานข้อมูล)

-
User Session
- DB: Delete User Session : ลบ User Session object จากฐานข้อมูลตาม ID ;

- DB: Update User Session : รีเซ็ตฟิลด์ทั้งหมดของอ็อบเจกต์โมเดลที่กำหนดในฐานข้อมูล และอัพเดตด้วยค่าที่กำหนด ( DB: Patch User Session ต้องใช้เพื่อเปลี่ยนฟิลด์ที่ให้มาเท่านั้น);

- DB: Create User Session : สร้างเรคคอร์ดในฐานข้อมูลและส่งคืนวัตถุโมเดล User Session (ต้องใช้บล็อก Make User Session เพื่อสร้าง User model object ตามฟิลด์อินพุต);

- DB: Soft Delete User Session : อัพเดตฟิลด์ DeletedAt ของออบเจกต์โมเดล User Session ที่เลือก

- DB: Bulk Delete User Session : ลบชุดของเร็กคอร์ดอ็อบเจกต์โมเดล User Session ด้วย IDs ที่กำหนด ( ids array); failed_ids อาร์เรย์กำหนดชุด IDs ซึ่งจะถูกละเว้นจากกระบวนการลบ

- DB: Patch User Session : อัพเดตฟิลด์ที่เลือกของออบเจกต์โมเดล User Session ในฐานข้อมูล ( DB: Update User Session ต้องใช้เพื่อรีเซ็ตฟิลด์ทั้งหมด);

- DB: Search User Session : ค้นหาวัตถุโมเดล User Session Session หนึ่งหรือหลายรายการในฐานข้อมูลตามฟิลด์และส่งคืน

- DB: GetOne User Session : ค้นหาอ็อบเจกต์โมเดล User Session ตาม ID และส่งคืน

- Expand User Session : ส่งคืนฟิลด์ทั้งหมดของออบเจ็กต์โมเดล User Session ที่เลือก

- Make User Session : ทำให้ User Session model object ตามฟิลด์อินพุต (จำเป็นต้องใช้ DB: Create User Session เพื่อสร้างบันทึกในฐานข้อมูล);

-
Auth Module
- Auth: Generate Auth Token : สร้างโทเค็นการอนุญาต ( Auth Token ) ตามความยาวที่กำหนด

- Auth: Registration : ลงทะเบียนผู้ใช้ใหม่;

- Auth: Authorization : ตรวจสอบว่ามี Auth Token อยู่หรือไม่ และส่งคืนผู้ใช้ที่เกี่ยวข้อง

- Auth: Authentification : ตรวจสอบล็อกอินและรหัสผ่านของผู้ใช้ และส่งคืน Auth Token ;

- Auth: Logout : ยุติเซสชันของผู้ใช้ปัจจุบันตาม Auth Token

- Auth: Get current user : ส่งคืนวัตถุรุ่น User ปัจจุบัน

- Auth: Remove user from group : ลบผู้ใช้ออกจากกลุ่มที่เลือกตาม ID ;

- Auth: Add user to group : เพิ่มผู้ใช้ลงในกลุ่มที่เลือกตาม ID ;

- Auth: Hash Password : แปลงสตริงรหัสผ่านเป็นแฮช

- Auth: Restore Password : กู้คืนรหัสผ่านตามการเข้าสู่ระบบของผู้ใช้

- Auth: Change Password : เปลี่ยนรหัสผ่านของผู้ใช้;

- Auth: Probe Password : ตรวจสอบความสัมพันธ์ระหว่างรหัสผ่านและแฮช

Auth Module, User และ User Session endpoints
จุด Endpoints ที่ติดตั้งไว้ล่วงหน้าของ Auth Module และโมเดล User และ User Session จะถูกสร้างขึ้นโดยอัตโนมัติเมื่อสร้างโปรเจ็กต์
Auth Module
ประเภทคำขอEndpointกระบวนการทางธุรกิจที่เกี่ยวข้อง
_/logout/Auth: Logout
/auth/Auth: Authentification
/register/Auth: Registration
/confirm/Auth: Get Current User
/user/change-password/Auth: Change Password
/user/restore-password/Auth: Restore Password
/user/profile/_Auth: Get Current User
ผู้ใช้
ประเภทคำขอEndpointกระบวนการทางธุรกิจที่เกี่ยวข้อง
_/user/:id/DB: Update User
/user/:id/DB: Delete User
/user/:id/DB: GetOne User
/user/DB: Search User
/user/:id/DB: Patch User
/user/_DB: Create User
User Session
ประเภทคำขอEndpointกระบวนการทางธุรกิจที่เกี่ยวข้อง
_/user-session/:id/DB: Delete User Session
/user-session/:id/DB: GetOne User Session
/user-session/DB: Search User Session
/user-session/:id/DB: Patch User Session
/user-session/DB: Create User Session
/user-session/:id/_DB: Update User Session
Auth Token
มีการใช้ Auth Token การตรวจสอบสิทธิ์เป็นโทเค็นเซสชันของผู้ใช้ที่ได้รับอนุญาต เป็นไปได้ที่จะโต้ตอบกับ Auth Token, ในกระบวนการทางธุรกิจของเว็บแอปพลิเคชัน:
- รับ Get Auth Token ส่งคืน Auth Token เซสชันของผู้ใช้ปัจจุบัน

- Set Auth Token เขียนใหม่เซสชัน Auth Token ของผู้ใช้ปัจจุบัน

- Remove Auth Token จะลบ Auth Auth Token เซสชันของผู้ใช้ปัจจุบัน

วิธีรับผู้ใช้ปัจจุบัน
1. ไปที่แท็บ Business logic แล้วลากบล็อก Auth: Get current user

2. ไปที่แท็บจุด Endpoints และขยายส่วน User จากนั้น สร้างเมธอดประเภท GET สำหรับกระบวนการทางธุรกิจที่สร้างขึ้นในขั้นตอนที่ 1 URL endpoint จะเป็น /user_current

3. ไปที่แท็บ Web Apps และสร้างกระบวนการทางธุรกิจใหม่ด้วย Server request GET /user_current เพื่อรับผู้ใช้ปัจจุบันจากกระบวนการทางธุรกิจของเว็บแอปพลิเคชัน

