UTEHY Identity Platform
Hệ thống đăng nhập tập trung (SSO) của Trường Đại học Sư phạm Kỹ thuật Hưng Yên — một lần đăng nhập, truy cập mọi ứng dụng đại học.
1. Tổng quan
UTEHY Identity Platform là Identity Provider (OpenID Connect / OAuth2) tại domain sso.edtech.io.vn. Admin Portal này dùng để quản trị người dùng, tổ chức, phân quyền và giám sát bảo mật.
2. Đăng nhập
- Mở /login
- Nhập tên đăng nhập hoặc email và mật khẩu. Tài khoản bootstrap mặc định:
admin / ChangeMe@UTEHY2026! - Nếu đã bật MFA, nhập mã 6 số từ Google Authenticator.
- Sau khi đăng nhập thành công, hệ thống chuyển tới Dashboard.
4. Vai trò & phân quyền
Mỗi user có một role. Role quyết định tập permission (ví dụ user:create, faculty:manage).
| Role | Mô tả |
|---|---|
| SUPER_ADMIN | Toàn quyền hệ thống |
| ADMIN | Quản trị Identity Platform |
| RECTOR / VICE_RECTOR | Ban Giám hiệu — xem toàn trường |
| DEAN / VICE_DEAN | Ban chủ nhiệm khoa — phạm vi khoa |
| HEAD_OF_DEPARTMENT | Trưởng bộ môn |
| LECTURER / STAFF | Giảng viên / cán bộ |
| STUDENT / ALUMNI / GUEST | Sinh viên / cựu SV / khách |
5. Phạm vi dữ liệu (Data Scope)
Mỗi user có thể gắn facultyId, departmentId, programId. Middleware ScopeGuard chỉ cho phép xem/sửa dữ liệu trong phạm vi của mình. Các role toàn cục (SUPER_ADMIN, ADMIN, RECTOR, VICE_RECTOR) không bị giới hạn khoa/bộ môn.
- Dean → quản lý user/CTĐT trong khoa của mình
- Head of Department → phạm vi bộ môn
- Lecturer / Student → chủ yếu đọc thông tin liên quan
6. Tích hợp ứng dụng (OIDC)
Ứng dụng UTEHY đăng nhập qua Authorization Code + PKCE. Đăng ký client tại menu Clients (quyền CLIENT_MANAGE): tạo client, bật PKCE, lưu clientSecret (chỉ hiện một lần; có thể rotate). Ví dụ cấu hình:
SSO_ISSUER=https://sso.edtech.io.vn SSO_CLIENT_ID=graphkt-edtech SSO_CLIENT_SECRET=xxxxxxxx SSO_REDIRECT_URI=https://edtech.io.vn/auth/callback
Luồng: App → /oauth2/authorize → đăng nhập SSO → nhận code → đổi token tại /oauth2/token → lấy profile tại /oauth2/userinfo.
Client mẫu đã seed: portal-utehy, lms-utehy, qa-system, survey-utehy, library-utehy.
7. Bảo mật & MFA
- Mật khẩu băm Argon2id; JWT ký RS256.
- Refresh token xoay vòng; phát hiện tái sử dụng sẽ thu hồi cả family.
- Khóa tài khoản sau 5 lần đăng nhập sai.
- Bật MFA: vào Settings → Generate QR → quét bằng Google Authenticator → nhập mã 6 số → Enable.
- Thu hồi phiên lạ tại menu Sessions.
8. Xử lý sự cố thường gặp
© UTEHY ICT — UTEHY Identity Platform Guide