Tích hợp LTI 1.3
Cài vào Canvas / CatBus: nhúng học liệu (Deep Linking) và gửi điểm quiz/H5P về sổ điểm (AGS).
Thông số tool (hoclieu.org)
Base URL công khai hiện tại:
https://hoclieu.org. Đặt biến TOOL_URL hoặc PUBLIC_URL cho đúng domain HTTPS.| Thông số | URL đầy đủ | Mô tả |
|---|---|---|
| OIDC Login URL | https://hoclieu.org/lti/login | Third-party login initiation — nền tảng gọi khi mở tool. |
| Redirect / Launch URL | https://hoclieu.org/lti/launch | Nhận id_token, xác minh, mở học liệu hoặc trang Deep Linking. |
| Public JWK URL (JWKS) | https://hoclieu.org/lti/jwks | Khoá công khai RSA để LMS xác minh JWT Deep Linking / client assertion. |
| Deep Linking (sau launch) | https://hoclieu.org/lti/pick | Giáo viên chọn học liệu để nhúng (redirect nội bộ sau LtiDeepLinkingRequest). |
Gửi điểm (AGS)
Quiz và H5P: khi LMS kèm lineitem AGS, học sinh làm bài trên trang chấm tại máy chủ; điểm thang 10 được POST về sổ điểm LMS. Không tin điểm từ trình duyệt.
Scope cần cấp: https://purl.imsglobal.org/spec/lti-ags/scope/lineitem · https://purl.imsglobal.org/spec/lti-ags/scope/score
Deep Linking tự gắn lineItem (scoreMaximum 10) cho học liệu loại quiz/H5P.
Đăng ký Developer Key (Canvas / CatBus)
Các bước cấu hình LTI 1.3 để cài và nhúng học liệu.
- 1Trên Canvas / CatBus: Admin → Developer Keys → + Developer Key → chọn LTI Key.
- 2Method: Enter URL (hoặc Paste JSON). Bật OpenID Connect.
- 3JWK Method = Public JWK URL → dán https://hoclieu.org/lti/jwks
- 4Redirect URIs và Target Link URI → https://hoclieu.org/lti/launch
- 5OIDC Login URI → https://hoclieu.org/lti/login
- 6Bật Deep Linking (Content Item Selection / Deep Linking Placement).
- 7Bật Assignment and Grade Services; scopes tối thiểu: lineitem + score (IMS AGS).
- 8Lưu key → On. Tạo External App / Placement trong khóa học (Deep Linking).
- 9Copy Issuer, Client ID, Auth Login URL, Auth Token URL, JWKS URL, Deployment ID vào data/lti/platforms.json (xem ví dụ).
- 10Thử Deep Linking: chọn quiz/H5P có điểm — học sinh làm bài, máy chủ chấm và đẩy điểm về sổ điểm LMS.
Cấu hình nền tảng trên server
Tạo
data/lti/platforms.json (có thể copy từ platforms.example.json). File là mảng các nền tảng; cũng chấp nhận wrapper { "platforms": [ ... ] }.[
{
"issuer": "https://lms.truong.edu.vn",
"clientId": "lti-client-abc123",
"deploymentIds": ["1"],
"authLoginUrl": "https://lms.truong.edu.vn/api/lti/authorize_redirect",
"authTokenUrl": "https://lms.truong.edu.vn/login/oauth2/token",
"jwksUrl": "https://lms.truong.edu.vn/api/lti/security/jwks"
}
]TOOL_URL / PUBLIC_URL
Phải là HTTPS công khai mà LMS gọi được (ví dụ https://hoclieu.org). start.sh tự gán TOOL_URL từ PUBLIC_URL nếu chưa đặt.
Kiểm tra nhanh
Chạy
npx tsx tools/check_lti_ready.ts trên server. Khoá RSA tạo tự động tại data/lti/tool_public.json khi gọi JWKS lần đầu.