Tích hợp LTI 1.3
Nhúng học liệu vào Canvas / CatBus qua Deep Linking 2.0.
Tổng quan
Ứng dụng hoạt động như một LTI 1.3 Tool: nền tảng khởi động phiên OIDC, tool xác minh id_token bằng khoá RSA và trả về nội dung học liệu. Deep Linking cho phép giáo viên chọn sẵn học liệu để nhúng vào khóa học.
| Thông số | Đường dẫn | Mô tả |
|---|---|---|
| Login URL | /lti/login | Điểm khởi đầu OIDC (third-party initiation) do nền tảng gọi tới. |
| Launch / Redirect URL | /lti/launch | Nơi nhận id_token, xác minh và hiển thị học liệu / danh sách Deep Linking. |
| JWKS | /lti/jwks | Công khai khoá công khai RSA của tool để nền tảng xác minh chữ ký. |
| Deep Linking | /lti/deeplink | Nhận lựa chọn học liệu và trả về JWT LtiDeepLinkingResponse. |
Đăng ký Developer Key
Các bước cấu hình ứng dụng LTI 1.3 trong Canvas / CatBus.
- 1Trên nền tảng (Canvas / CatBus), vào phần quản lý tích hợp LTI và tạo một ứng dụng LTI 1.3 mới.
- 2Điền Login URL và Redirect URL theo bảng thông số cấu hình ở trên (kèm tiền tố TOOL_URL).
- 3Sao chép Client ID (Consumer Key) và Issuer của nền tảng.
- 4Thêm một bản ghi tương ứng vào file data/lti/platforms.json (xem ví dụ bên dưới).
- 5Kiểm tra deployment ID được nền tảng cấp và thêm vào mảng deploymentIds.
- 6Lưu lại và thử Deep Linking: chọn học liệu từ danh sách để nhúng vào khóa học.
Cấu hình nền tảng
Tạo file
data/lti/platforms.json để khai báo các nền tảng LMS được phép kết nối. Mỗi bản ghi chứa thông tin xác thực OIDC của nền tảng.{
"platforms": [
{
"issuer": "https://lms.truong.edu.vn",
"clientId": "lti-client-abc123",
"deploymentIds": ["dep-001"],
"authLoginUrl": "https://lms.truong.edu.vn/lti/authorize",
"authTokenUrl": "https://lms.truong.edu.vn/lti/token",
"jwksUrl": "https://lms.truong.edu.vn/lti/jwks"
}
]
}Biến môi trường TOOL_URL
Đặt TOOL_URL là địa chỉ công khai của ứng dụng (mặc định http://127.0.0.1:3020). Nền tảng sẽ gọi tới $TOOL_URL/lti/login và nhận redirect về $TOOL_URL/lti/launch.
Lưu ý
Khoá RSA của tool được tạo tự động tại
data/lti/tool_private.json và data/lti/tool_public.json nếu chưa tồn tại. Đây là bản demo — không dùng cho môi trường sản xuất.