피드로 돌아가기
Dev.toBackend
원문 읽기
LTI 1.3 AGS 기반 실시간 성적 자동 동기화 시스템 설계
How to Send Grades Back to Canvas Using AGS in 2026 (Without Manual Sync)
AI 요약
Context
강사가 LTI 도구의 성적을 Canvas Gradebook에 수동으로 복사하는 운영 비효율 발생. LTI 1.1의 제한적인 Outcomes 서비스로 인한 자동화 한계 및 데이터 동기화 지연 문제를 해결해야 하는 상황.
Technical Solution
- LTI Advantage 및 LTI 1.3 표준 채택을 통한 Assignment and Grade Services(AGS) 기반 자동화 구조 설계
- LTI Launch 시 id_token 내 AGS endpoint와 scope(lineitem, score) 정보를 캡처하여 API 통신 기반 마련
- OAuth 2.0 Client Credentials Grant 및 JWT Assertion 방식을 통한 보안 액세스 토큰 획득 및 1시간 단위 캐싱 전략 적용
- ResourceLinkId를 활용해 LTI 실행 컨텍스트와 Canvas Assignment 간의 1:1 매핑 관계 보장
- activityProgress("Completed") 및 gradingProgress("FullyGraded") 상태 값을 명시하여 Canvas UI 내 성적 가시성 확보
- scoreGiven과 scoreMaximum의 쌍 설계로 Canvas 내부 백분율 계산 로직 최적화
실천 포인트
- Canvas Developer Key 설정 내 'Assignment and Grade Services' 활성화 여부 확인 - LTI Launch 시점에 제공되는 AGS endpoint URL 및 scope 정보를 DB에 영속화하여 세션 외 성적 전송 보장 - Access Token 요청 시 JWT의 유효 기간을 60초 미만으로 짧게 설정하여 보안 강화 - 성적 전송 시 user ID는 반드시 LTI id_token의 'sub' claim 값을 사용하도록 설계