โมดูล 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 เพื่อรับผู้ใช้ปัจจุบันจากกระบวนการทางธุรกิจของเว็บแอปพลิเคชัน