IMS Final Release

Learning Tools Interoperability (LTI)® Deep Linking Specification

LTI 딥 링크 표준 2.0

IMS Final Release
Spec Version 2.0

Document Version2
Date Issued16 April 2019
StatusThis document is made available for adoption by the public community at large.
This versionhttps://www.imsglobal.org/spec/lti-dl/v2p0/
Latest versionhttps://www.imsglobal.org/spec/lti-dl/latest/
Erratahttps://www.imsglobal.org/spec/lti-dl/v2p0/errata/
1EdTech Korea Translation Record
Internal reference1ETK-LTI-DL-20:2025
Legacy internal reference1EdTech-LTI-2025-06
Proposal date25 October 2025
Adoption date25 December 2025
Translation completedDecember 2025

위 관리번호는 1EdTech Consortium의 공식 표준 식별자가 아니라 1EdTech Korea의 번역 출판 관리를 위한 내부 식별자입니다.

이 표준의 한국어 정보 및 공개는 2023년도 정부(과학기술정보통신부)의 재원으로 정보통신기획평가원의 지원을 받아 수행된 연구임(No.RS-2023-00229780, 맞춤형 교육을 위한 과정 중심 평가(학습진단) 인공지능 기술 개발)

요약

1. Overview

1. 개요

IMS is developing the Learning Tools Interoperability (LTI)® Deep Linking specification to allow a platform to more easily integrate content gathered from an external tool. Using the deep linking message defined in this specification, platform users can launch out to a URI specified by an external tool, then select specific content appropriate for their use, and have returned back a URI that other platform users can use at a later time as the basis for other launches directly to that specific content.

IMS는 플랫폼이 외부 도구에서 제공된 콘텐츠를 보다 쉽게 통합할 수 있도록 Learning Tools Interoperability (LTI)® Deep Linking 표준을 개발 중이다. 이 표준에서 정의된 Deep Linking 메시지를 사용하여 플랫폼 사용자는 외부 도구에서 지정한 URI로 이동한 후, 사용 목적에 적합한 특정 콘텐츠를 선택하고, 이후 다른 플랫폼 사용자가 나중에 해당 URI를 직접 특정 콘텐츠로 이동하는 데 사용할 수 있는 URI를 반환받을 수 있다.

For example, via the deep linking message, course designers can launch out to a publisher's tool, select some course content modules appropriate to the particular course they are working on, and get back LTI™ resource links that, when launched by students, will go directly to the content modules rather than some more general "table of contents page".

예를 들어, Deep Linking 메시지를 통해 강좌 설계자는 출판사의 도구로 이동하여 작업 중인 특정 강좌에 적합한 일부 강좌 콘텐츠 모듈을 선택하고, 학생들이 일반적인 "목차 페이지"가 아닌 해당 콘텐츠 모듈로 바로 이동할 수 있는 LTI™ 리소스 링크를 반환받을 수 있다.

This document builds upon all the concepts and terms introduced in the LTI™ 1.3 specification [LTI-13], specifically:

이 문서는 LTI™ 1.3 표준 [LTI-13]에서 도입된 모든 개념과 용어를 기반으로 작성되었다.

  • The notions of platforms and tools as participants in an LTI workflow.
    LTI 워크플로우에서 플랫폼과 도구가 참여자로서의 역할을 한다는 개념.
  • The organization of collections of resources within contexts.
    컨텍스트(context) 내에서 리소스 컬렉션이 구성되는 방식.
  • The interactions of messages and services.
    메시지와 서비스 간의 상호작용.

As with the core LTI specifications, this specification requires the use of HTTPS (with TLS) for all messages [RFC2818]. Additionally, implementers SHOULD, by best practice, use HTTPS for all URLs to resources included in messages (for example, URLs to static content like images and thumbnails).

LTI 핵심 표준과 마찬가지로, 이 표준은 모든 메시지에 대해 HTTPS(TLS 포함) 사용을 요구한다 [RFC2818]. 또한, 구현자는 모범 사례에 따라 메시지에 포함된 리소스(URL)에도 HTTPS를 사용해야 한다. (예: 이미지나 썸네일과 같은 정적 콘텐츠의 URL)

1.1 Terminology

1.1 용어

JWT
JSON Web Token is a JSON-based [RFC7159] security token encoding that enables identity and security information to be shared across security domains. A security token is generally issued by an Identity Provider and consumed by a Relying Party that relies on its content to identify the token's subject for security-related purposes.

JSON Web Token은 JSON 기반([RFC7159]) 보안 토큰 인코딩 방식으로, 보안 도메인 간에 신원 및 보안 정보를 공유할 수 있게 한다. 보안 토큰은 일반적으로 Identity Provider(신원 제공자)에 의해 발급되며, 이를 신뢰하는 Relying Party(신뢰 당사자)가 보안 관련 목적으로 토큰의 주체를 식별하기 위해 해당 내용을 사용한다.

LIS
Learning Information Services® (LIS®) is an IMS standard that defines how systems manage the exchange of information that describes people, groups, memberships, courses and outcomes [LIS-20]

Learning Information Services® (LIS®)는 사람, 그룹, 멤버십, 강좌, 학습 성과를 설명하는 정보를 시스템 간에 교환하는 방식을 정의한 IMS 표준이다 [LIS-20].

LTI
Learning Tools Interoperability (LTI) is an IMS standard for integration of rich learning applications within educational environments.

Learning Tools Interoperability (LTI)는 교육 환경 내에서 풍부한 학습 애플리케이션을 통합하기 위한 IMS 표준이다.

URI
The Uniform Resource Identifier (URI) utilizes the US-ASCII character set to identify a resource. Per [RFC2396], a URI "can be further classified as a locator, a name or both." Both the Uniform Resource Locator (URL) and the Uniform Resource Name (URN) are considered subspaces of the more general URI space.

Uniform Resource Identifier (URI)는 리소스를 식별하기 위해 US-ASCII 문자 집합을 사용한다. [RFC2396]에 따르면, URI는 "위치 지정자(locator), 이름(name), 또는 둘 다로 분류될 수 있다." Uniform Resource Locator (URL)과 Uniform Resource Name (URN)은 더 일반적인 URI 공간의 하위 개념으로 간주된다.

URL
A Uniform Resource Locator (URL) is a type of URI that provides a reference to resource that specifies both its location and a means of retrieving a representation of it. An HTTP URI is a URL.

Uniform Resource Locator (URL)은 URI의 한 유형으로, 리소스의 위치와 해당 리소스 표현을 검색하는 방법을 모두 지정하는 참조를 제공한다. HTTP URI는 URL에 해당한다.

URN
A Uniform Resource Name (URN) is a type of URI that provides a persistent identifier for a resource that is bound to a defined namespace. Unlike a URL, a URN is location-independent and provides no means of accessing a representation of the named resource.

Uniform Resource Name (URN)은 URI의 한 유형으로, 정의된 네임스페이스에 묶인 리소스에 대해 영구적인 식별자를 제공한다. URL과 달리, URN은 위치에 독립적이며 명명된 리소스의 표현에 접근하는 방법을 제공하지 않는다.

UUID
a 128-bit identifier that does not require a registration authority to assure uniqueness. However, absolute uniqueness is not guaranteed although the collision probability is considered extremely low. LTI recommends use of randomly or pseudo-randomly generated version 4 UUIDs [RFC4122].

UUID (Universally Unique Identifier)는 128비트 식별자로, 고유성을 보장하기 위해 등록 기관을 필요로 하지 않는다. 다만, 절대적인 고유성을 보장하지는 않으나 충돌 가능성은 극히 낮다고 간주된다. LTI는 랜덤 또는 의사 랜덤 방식으로 생성된 버전 4 UUID 사용을 권장한다 [RFC4122].

1.2 Conformance Statements

1.2 적합성 선언

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

이 표준에서 비규범적(non-normative)으로 표시된 섹션뿐만 아니라, 작성 가이드라인, 다이어그램, 예제, 노트는 모두 비규범적이다. 이 외의 모든 내용은 규범적(normative)이다.

The key words MAY, MUST, MUST NOT, OPTIONAL, RECOMMENDED, REQUIRED, SHALL, SHALL NOT, SHOULD, and SHOULD NOT in this document are to be interpreted as described in [RFC2119].

이 문서에서 사용되는 MAY, MUST, MUST NOT, OPTIONAL, RECOMMENDED, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT라는 주요 용어는 [RFC2119]에 명시된 대로 해석해야 한다.

An implementation of this specification that fails to implement a MUST/REQUIRED/SHALL requirement or fails to abide by a MUST NOT/SHALL NOT prohibition is considered nonconformant. SHOULD/SHOULD NOT/RECOMMENDED statements constitute a best practice. Ignoring a best practice does not violate conformance but a decision to disregard such guidance should be carefully considered. MAY/OPTIONAL statements indicate that implementers are entirely free to choose whether or not to implement the option.

이 표준의 MUST/REQUIRED/SHALL 요구사항을 구현하지 않거나 MUST NOT/SHALL NOT 금지를 준수하지 않는 구현은 비적합(nonconformant)으로 간주된다. SHOULD/SHOULD NOT/RECOMMENDED는 모범 사례를 나타낸다. 모범 사례를 무시해도 적합성을 위반하지는 않지만, 그러한 지침을 무시하기로 결정하기 전에 신중히 고려해야 한다. MAY/OPTIONAL은 구현자가 선택적으로 해당 옵션을 구현할 자유가 있음을 나타낸다.

The Conformance and Certification Guide for this specification may introduce greater normative constraints than those defined here for specific service or implementation categories.

이 표준의 적합성과 인증 가이드(Conformance and Certification Guide)는 특정 서비스 또는 구현 범주에 대해 여기서 정의된 것보다 더 높은 규범적 제약을 도입할 수 있다.

1.3 Document Set

1.3 문서 집합

1.3.1 Normative Documents

1.3.1 규범적 문서

LTI Advantage Conformance Certification Guide [LTI-CERT-13]

LTI Advantage 적합성 인증 가이드 [LTI-CERT-13]

The LTI Advantage Conformance Certification Guide describes the procedures for testing Platforms and Tools against the LTI v1.3 and LTI Advantage services using the IMS certification test suite.

LTI Advantage Conformance Certification Guide는 IMS 인증 테스트 도구를 사용하여 LTI v1.3 및 LTI Advantage 서비스에 대해 플랫폼과 도구를 테스트하는 절차를 설명한다.

1.3.2 Informative Documents

1.3.2 비규범적 문서

LTI Advantage Implementation Guide [LTI-IMPL-13]

LTI Advantage 구현 가이드 [LTI-IMPL-13]

The LTI Advantage Implementation Guide provides information to lead you to successful implementation and certification of the LTI Core v1.3 specification and the set of LTI Advantage specifications.

LTI Advantage Implementation Guide는 LTI Core v1.3 표준과 LTI Advantage 표준 집합의 성공적인 구현 및 인증을 위한 정보를 제공한다.

2. Workflow

2. 워크플로우

Deep Linking workflow between platform and tool

Figure 1 Diagram illustrating the Deep Linking workflow between platforms and tools.

[그림 1] 플랫폼과 도구 간의 딥 링크 워크플로우를 보여주는 다이어그램

The workflow around using the deep linking message involves three steps:

Deep Linking 메시지를 사용하는 워크플로우는 다음 세 가지 단계로 구성된다.

  1. The platform redirects the user's browser to an endpoint hosted by the tool, as with the core LTI resource link launch request, indicating the types of items that may be added during this interaction.
    플랫폼은 핵심 LTI 리소스 링크 실행 요청과 마찬가지로, 사용자의 브라우저를 도구가 호스팅하는 엔드포인트로 리디렉션하며, 상호작용 중에 추가할 수 있는 아이템 유형을 지정한다.
  2. The tool provides an interface allowing the user to discover and select one or more specific items to integrate back into the platform.
    도구는 사용자가 플랫폼에 통합할 하나 이상의 특정 아이템을 탐색하고 선택할 수 있는 인터페이스를 제공한다.
  3. The tool then redirects the user’s browser back to the platform along with details of the item(s) selected (for example, LTI resource links to embed).
    도구는 선택된 아이템(예: 통합할 LTI 리소스 링크)의 세부정보와 함께 사용자의 브라우저를 플랫폼으로 다시 리디렉션한다.

2.1 Redirection from platform to tool

2.1 플랫폼에서 도구로의 리디렉션

The platform handles this redirection to the tool just as with the core LTI resource link launch request. It creates an HTML form that the browser can auto-submit via JavaScript to an endpoint hosted by the tool using an HTTP POST.

플랫폼은 핵심 LTI 리소스 링크 실행 요청과 동일한 방식으로 도구로의 리디렉션을 처리한다. 플랫폼은 사용자의 브라우저가 JavaScript를 통해 자동으로 제출할 수 있는 HTML 폼을 생성하며, 이 폼은 HTTP POST를 사용하여 도구가 호스팅하는 엔드포인트로 전송된다.

The platform sends the same message parameters in the deep linking request message as it would in the resource link launch request message with the exception of the resource link claim, along with some additional parameters.

플랫폼은 Deep Linking 요청 메시지에 리소스 링크 실행 요청 메시지와 동일한 메시지 매개변수를 포함하되, 리소스 링크 클레임(resource link claim)을 제외하고 몇 가지 추가 매개변수를 포함한다.

The lti_message_type of this new message has a value of LtiDeepLinkingRequest.

이 새로운 메시지의 lti_message_type 값은 LtiDeepLinkingRequest이다.

The platform creates and signs the message in the same way it does with the core LTI resource link launch request (see the LTI 1.3 [LTI-13] and IMS Security Framework [SEC-10] specifications for details). Given the intended workflow implied by this message type, the platform may intend the tool's user experience to open within an iframe or pop-up window, to let the current UI context in the platform remain visible and available when the user returns from the tool's workflow; however, this is not a requirement, and other workflows using the same deep linking request message type may re-use the same page as the platform.

플랫폼은 이 메시지를 생성하고 서명하는 방식을 핵심 LTI 리소스 링크 실행 요청과 동일하게 처리한다. 이 메시지 유형이 의도하는 워크플로우를 고려할 때, 플랫폼은 도구의 사용자 경험이 iframe 또는 팝업 창 내에서 열리도록 설정할 수 있다. 이렇게 하면 사용자가 도구의 워크플로우를 완료하고 플랫폼으로 돌아왔을 때, 현재의 UI 컨텍스트가 계속 표시되고 사용할 수 있도록 할 수 있다. 그러나 이것은 필수 사항은 아니며, 동일한 Deep Linking 요청 메시지 유형을 사용하는 다른 워크플로우는 플랫폼의 동일한 페이지를 재사용할 수도 있다.

자세한 내용은 LTI 1.3 [LTI-13] 및 IMS 보안 프레임워크 [SEC-10] 표준을 참조

2.2 Tool user experience for deep linking

2.2 Deep Linking을 위한 도구 사용자 경험

The tool entirely controls the user experience for discovering and selecting content items within its body of available resources.

도구는 사용자가 제공된 리소스 중에서 콘텐츠 아이템을 탐색하고 선택하는 사용자 경험을 전적으로 제어한다.

The tool SHOULD verify the deep linking request message in the same way it would for a resource link launch request. The parameters the tool receives in the message SHOULD, by best practice, contain sufficient data to allow the tool to identify the context from which the user is being passed, who the user is, and what the user's role in the context is.

도구는 Deep Linking 요청 메시지를 검증할 때 리소스 링크 실행 요청과 동일한 방식을 사용해야(SHOULD) 한다. 메시지에 포함된 매개변수는 모범 사례(best practice)에 따라, 사용자를 전달받은 컨텍스트, 사용자의 신원, 해당 컨텍스트에서 사용자의 역할을 식별할 수 있을 만큼 충분한 데이터를 포함해야(SHOULD) 한다.

Where appropriate the tool can use this data to provide an appropriate collection of items from which the user can select, or allow the user to create a new item (and retrieve a reference to the new item).

필요한 경우 도구는 이 데이터를 활용하여 사용자에게 선택 가능한 적절한 아이템 모음을 제공하거나, 새로운 아이템을 생성하고 해당 아이템의 참조를 검색할 수 있는 기능을 제공할 수 있다.

The tool MUST recognize that the platform makes no guarantee that it will actually create a resource link to the selected (or created) item(s) upon returning the user to the platform (for example, the user may have the option to cancel the workflow before creating a resource link in the platform).

도구는 플랫폼이 사용자를 다시 반환했을 때, 선택되거나 생성된 아이템에 대해 리소스 링크를 실제로 생성할 것이라는 보장을 하지 않음을 반드시(MUST) 인식해야 한다. 예를 들어, 사용자가 플랫폼 내에서 리소스 링크를 생성하기 전에 워크플로우를 취소할 수 있는 옵션이 있을 수 있다.

2.3 Redirection back to the platform

2.3 플랫폼으로의 리디렉션

When forming the deep linking request message, the platform includes a deep_link_return_url in the https://purl.imsglobal.org/spec/lti-dl/claim/deep_linking_settings claim. The tool MUST redirect the workflow to that URL once the user has completed the selection or creation portion of the overall flow.

플랫폼은 Deep Linking 요청 메시지를 생성할 때, https://purl.imsglobal.org/spec/lti-dl/claim/deep_linking_settings 클레임(claim)에 deep_link_return_url을 포함한다. 사용자가 전체 워크플로우 중 선택 또는 생성 단계를 완료하면, 도구는 해당 URL로 워크플로우를 반드시(MUST) 리디렉션해야 한다.

By best practice, a tool SHOULD always ensure to redirect the user's browser back to this endpoint, even if the user selects or creates no items. This allows the platform to close any frames or windows it opened during the initial redirection step.

모범 사례(best practice)에 따르면, 사용자가 아이템을 선택하거나 생성하지 않은 경우에도 도구는 항상 사용자의 브라우저를 이 엔드포인트로 리디렉션해야(SHOULD) 한다. 이를 통해 플랫폼은 초기 리디렉션 단계에서 열었던 iframe이나 창을 닫을 수 있다.

The tool passes back to the platform details of any selected or created items in a JSON array (this array could be empty, if no item was selected or created).

도구는 선택되거나 생성된 아이템의 세부정보를 JSON 배열로 플랫폼에 반환한다.

선택되거나 생성된 아이템이 없는 경우, 이 배열은 비어 있을 수 있다

After encoding the deep linking return message as a JWT, the tool MUST always perform this redirection using an auto-submitted form as an HTTP POST request using the JWT parameter (see the IMS Security Framework [SEC-10]) for more details about the use of JWT), redirecting the user's browser to the platforms's deep_link_return_url.

The lti_message_type of this new message has a value of LtiDeepLinkingResponse.

Deep Linking 반환 메시지를 JWT로 인코딩한 후, 도구는 항상 HTTP POST 요청으로 JWT 매개변수를 사용하여 자동 제출 폼을 통해 반드시(MUST) 리디렉션을 수행해야 한다. 이 과정에서 사용자의 브라우저는 플랫폼의 deep_link_return_url로 리디렉션된다.

자세한 내용은 IMS 보안 프레임워크 [SEC-10]를 참조

이 새로운 메시지의 lti_message_type 값은 LtiDeepLinkingResponse이다.

3. Content Item Types

3. 콘텐츠 아이템 유형

The Deep Linking interaction may be used to exchange various types of content item; each item type has its own definition and JSON Schema defining it. The type is open for extension; it is expected other IMS Global specifications as well as platforms will extend on the core set of types defined in this document.

딥 링크 상호작용은 다양한 유형의 콘텐츠 아이템을 교환하는 데 사용될 수 있으며, 각 아이템 유형은 자체 정의와 JSON 스키마를 가진다. 이 유형은 확장이 가능하며, 본 문서에서 정의된 핵심 유형 집합을 기반으로 다른 IMS Global 표준이나 플랫폼이 이를 확장할 것으로 예상된다.

3.1 링크

A link is a fully qualified URL to a resource hosted on the internet. The item may include different rendering options (window, iframe, embed). As a best practice, the tool SHOULD return all the ones that apply, allowing the platform to use the best option based on the actual rendering context when the item is displayed.

링크는 인터넷에 호스팅된 리소스에 대한 완전한 URL이다. 이 아이템은 다양한 렌더링 옵션(예: 창(window), iframe, embed)을 포함할 수 있다. 모범 사례(best practice)에 따르면, 도구는 적용 가능한 모든 렌더링 옵션을 반환해야 하며, 플랫폼은 아이템이 표시될 때 실제 렌더링 컨텍스트에 따라 가장 적합한 옵션을 선택하여 사용할 수 있어야(SHOULD) 한다.

A link may contain different rendering instructions that the platform may use to properly display the link; if none of those attributes are present, the default behavior is to open the resource in a new browser window/tab.

링크는 플랫폼이 링크를 적절히 표시할 수 있도록 다양한 렌더링 지침을 포함할 수 있다. 이러한 속성이 없을 경우, 기본 동작은 리소스를 새 브라우저 창/탭에서 여는 것이다.

Properties of a link are:

링크의 속성은 다음과 같다.

NameDescriptionDisposition
typeValue must be link.
값은 link여야 한다.
required
urlFully qualified URL of the resource. This link must be navigable to.
리소스의 완전한 URL. 이 링크는 탐색 가능해야 한다.
required
titleString, plain text to use as the title or heading for content.
제목 또는 헤딩으로 사용할 문자열(일반 텍스트).
optional
textString, plain text description of the content item intended to be displayed to all users who can access the item.
아이템에 접근할 수 있는 모든 사용자가 볼 수 있는 콘텐츠 아이템의 설명(문자열, 일반 텍스트).
optional
iconFully qualified URL, height, and width of an icon image to be placed with the file. A platform may not support the display of icons, but where it does, it may choose to use a local copy of the icon rather than linking to the URL provided (which would also allow it to resize the image to suit its needs).
아이콘 이미지를 파일과 함께 배치하기 위한 완전한 URL, 높이, 너비. 플랫폼이 아이콘 표시를 지원하지 않을 수도 있지만, 지원하는 경우 제공된 URL 대신 로컬 복사본을 사용할 수 있으며, 이로 인해 이미지를 필요에 따라 크기 조정할 수도 있다.
url: fully qualified URL to the image file.
url: 이미지 파일의 완전한 URL
width: integer representing the width in pixels of the image.
width:이미지의 너비(픽셀 단위, 정수).
height: integer representing the height in pixels of the image.
height: 이미지의 높이(픽셀 단위, 정수).
optional
thumbnailFully qualified URL, height, and width of a thumbnail image to be made a hyperlink. This allows the hyperlink to be opened within the platform from text or an image, or from both.
완전한 URL, 높이, 너비: 하이퍼링크로 사용할 썸네일 이미지의 속성. 이를 통해 텍스트, 이미지, 또는 둘 다를 통해 플랫폼 내에서 하이퍼링크를 열 수 있다.
url: fully qualified URL to the image file.
url: 이미지 파일의 완전한 URL.
width: integer representing the width in pixels of the image.
width: 이미지의 너비(픽셀 단위, 정수).
height: integer representing the height in pixels of the image.
height: 이미지의 높이(픽셀 단위, 정수).
optional
embedThe embed property has a single required property html that contains the HTML fragment to embed the resource directly inside HTML. It is commonly used as a way to embed a resource in an HTML editor. Platform must make sure to properly sanitize the HTML prior to inclusion.
embed 속성은 html이라는 단일 필수 속성을 가지며, 이는 리소스를 HTML 내에 직접 삽입하기 위한 HTML 조각을 포함한다. 일반적으로 HTML 편집기에 리소스를 삽입하는 방법으로 사용된다. 플랫폼은 포함하기 전에 해당 HTML을 반드시 적절히 검증(sanitize) 해야 한다.
optional
windowThe window property indicates how to open the resource in a new window/tab. The window property has the following optional properties:
window 속성은 리소스를 새 창/탭에서 여는 방식을 나타낸다. window 속성에는 다음과 같은 선택적 속성들이 있다.
targetName: String identifying the name of the window to open; this allows for a single window to be shared as the target of multiple links, preventing a proliferation of new windows/tabs.
targetName: 새 창을 열 이름을 식별하는 문자열. 이를 통해 여러 링크가 단일 창을 공유하도록 설정할 수 있어 새로운 창/탭이 과도하게 생성되는 것을 방지한다.
width: integer representing the width in pixels of the new window
width: 새 창의 너비(픽셀 단위, 정수).
height: integer representing the height in pixels of the new window
height: 새 창의 높이(픽셀 단위, 정수).
windowFeatures: Comma-separated list of window features as per the window.open() definition.
windowFeatures: window.open() 정의(https://developer.mozilla.org/en-US/docs/Web/API/Window/open)에 따른 창 기능의 쉼표로 구분된 목록.
optional
iframeThe iframe property indicates the resource can be embedded using an iframe. The parameters indicates the dimension and the src URL for embedding:
iframe 속성은 리소스를 iframe을 사용하여 삽입할 수 있음을 나타냅니다. 매개변수는 iframe의 크기와 src URL을 나타낸다.
src: required parameter indicating the URL to use as the src of the iframe. The src value may differ from the link url.
src: iframe의 src로 사용할 URL을 나타내는 필수 매개변수이다. src 값은 링크 URL과 다를 수 있다.
width: integer representing the width in pixel of the new iframe.
width: 새 iframe의 너비(픽셀 단위, 정수).
height: integer representing the height in pixel of the new iframe.
height: 새 iframe의 높이(픽셀 단위, 정수).
optional

3.2 LTI 리소스 링크

A link to an LTI resource, usually delivered by the same tool to which the deep linking request was made to. A platform may support links associated to other tools. How this association may happen is not specified.

LTI 리소스에 대한 링크로, 일반적으로 Deep Linking 요청이 이루어진 동일한 도구에서 제공된다. 플랫폼은 다른 도구와 연관된 링크를 지원할 수도 있다. 이러한 연관이 어떻게 이루어지는지는 명시되어 있지 않다.

Properties of an LTI link are:

LTI 링크의 속성은 다음과 같다.

NameDescriptionDisposition
typeValue must be ltiResourceLink.
값은 ltiResourceLink여야 한다.
required
urlFully qualified url of the resource. If absent, the base LTI URL of the tool must be used for launch.
If a platform receives a url then it MUST use this url as the target_link_uri in the LtiResourceLinkRequest payload.
리소스의 완전한 URL. 값이 없으면, 도구의 기본 LTI URL이 실행에 사용되어야 한다.
플랫폼이 URL을 수신하면, 이것을 반드시(MUST) LtiResourceLinkRequest 페이로드의 target_link_uri로 사용해야 한다.
optional
titleString, plain text to use as the title or heading for content.
제목 또는 헤딩으로 사용할 문자열(일반 텍스트).
optional
textString, plain text description of the content item intended to be displayed to all users who can access the item.
아이템에 접근할 수 있는 모든 사용자가 볼 수 있는 콘텐츠 아이템의 설명(문자열, 일반 텍스트).
optional
iconFully qualified URL, height, and width of an icon image to be placed with the file. A platform may not support the display of icons, but where it does, it may choose to use a local copy of the icon rather than linking to the URL provided (which would also allow it to resize the image to suit its needs).
파일과 함께 배치될 아이콘 이미지의 완전한 URL, 높이, 너비. 플랫폼이 아이콘 표시를 지원하지 않을 수도 있지만, 지원하는 경우 제공된 URL 대신 로컬 복사본을 사용할 수 있으며, 이를 통해 이미지를 필요에 따라 크기 조정할 수도 있다.
url: fully qualified URL to the image file.
url: 이미지 파일의 완전한 URL.
width: integer representing the width in pixels of the image.
width: 이미지의 너비(픽셀 단위, 정수).
height: integer representing the height in pixels of the image.
height: 이미지의 높이(픽셀 단위, 정수).
optional
thumbnailFully qualified URL, height, and width of a thumbnail image to be made a hyperlink. This allows the hyperlink to be opened within the platform from text or an image, or from both.
하이퍼링크로 만들기 위한 썸네일 이미지의 전체 URL, 높이, 너비를 의미한다. 이를 통해 텍스트나 이미지, 또는 둘 다에서 플랫폼 내에서 하이퍼링크를 열 수 있다.
url: fully qualified URL to the image file.
url: 이미지 파일의 완전한 URL.
width: integer representing the width in pixels of the image.
width: 이미지의 너비(픽셀 단위, 정수).
height: integer representing the height in pixels of the image.
height: 이미지의 높이(픽셀 단위, 정수).
optional
windowThe window property indicates how to open the resource in a new window/tab. The window property has the following optional properties:
window 속성은 리소스를 새 창/탭에서 여는 방식을 나타낸다. window 속성에는 다음과 같은 선택적 속성들이 있다.
targetName: String identifying the name of the window to open; this allows for a single window to be shared as the target of multiple links, preventing a proliferation of new windows/tabs.
targetName: 열 창의 이름을 식별하는 문자열이다. 이를 통해 여러 링크가 단일 창을 공유하도록 설정하여, 새 창/탭의 과도한 생성을 방지할 수 있다.
width: integer representing the width in pixels of the new window
width: 새 창의 너비(픽셀 단위, 정수).
height: integer representing the height in pixels of the new window
height: 새 창의 높이(픽셀 단위, 정수).
windowFeatures: Comma-separated list of window features as per the window.open() definition.
windowFeatures: window.open() 정의(https://developer.mozilla.org/en-US/docs/Web/API/Window/open)에 따른 창 기능의 쉼표로 구분된 목록.
optional
iframeThe iframe property indicates the resource can be embedded using an iframe. The parameters indicates the preferred dimension of the iframe:
iframe 속성은 리소스를 iframe을 사용하여 삽입할 수 있음을 나타낸다. 매개변수는 iframe의 권장 크기를 나타낸다.
width: integer representing the width in pixels of the new iframe.
width: 새 iframe의 너비(픽셀 단위, 정수).
height: integer representing the height in pixels of the new iframe.
height: 새 iframe의 높이(픽셀 단위, 정수).
optional
customA map of key/value custom parameters. Those parameters MUST be included in the LtiResourceLinkRequest payload. Value may include substitution parameters as defined in the LTI Core Specification [LTI-13]. Map values must be strings. Note that "empty-string" is a valid value (""); however, null is not a valid value.
키/값으로 이루어진 사용자 지정 매개변수의 맵(Map). 이 매개변수는 반드시(MUST) LtiResourceLinkRequest 페이로드에 포함되어야 한다. 값은 LTI Core Specification [LTI-13]에서 정의된 대체 매개변수를 포함할 수 있다. 맵의 값은 문자열이어야 하며, "빈 문자열(empty-string)"("")은 유효한 값으로 간주되지만, null은 유효한 값이 아니다.
optional
lineItem AlineItem object that indicates this activity is expected to receive scores; the platform may automatically create a corresponding line item when the resource link is created, using the maximum score as the default maximum points. The resource_id, tag and scoreMaximum are defined in the [LTI-AGS-20]. A line item created as a result of a Deep Linking interaction must be exposed in a subsequent line item service call, with the resourceLinkId of the associated resource link, as well as the resourceId and tag if present in the line item definition.
lineItem 객체는 이 활동이 점수를 받을 것으로 예상됨을 나타낸다. 플랫폼은 리소스 링크가 생성될 때, 기본 최대 점수로 최대 점수(maximum score)를 사용하여 해당하는 line item을 자동으로 생성할 수 있다. resource_id, tag, 및 scoreMaximum은 [LTI-AGS-20]에서 정의된다. Deep Linking 상호작용 결과로 생성된 line item은 이후의 line item 서비스 호출에서 연관된 리소스 링크의 resourceLinkId와 함께, line item 정의에 포함된 경우 resourceId 및 tag를 노출해야 한다.
label (optional): label for the line item. If not present, the title of the content item must be used.
label (optional): line item의 레이블. 존재하지 않을 경우, 콘텐츠 아이템의 제목이 사용되어야 한다.
scoreMaximum (required): Positive decimal value indicating the maximum score possible for this activity.
scoreMaximum (required): 이 활동에서 가능한 최대 점수를 나타내는 양의 소수 값.
resourceId (optional): String, tool provided ID for the resource.
resourceId (optional): 리소스를 위한 도구 제공 ID(문자열).
tag (optional): String, additional information about the line item; may be used by the tool to identify line items attached to the same resource or resource link (example: grade, originality, participation).
tag (optional): line item에 대한 추가 정보(문자열). 동일한 리소스 또는 리소스 링크에 연결된 line item을 식별하는 데 도구가 사용할 수 있다(예: 성적, 독창성, 참여도).
gradesReleased (optional): boolean to indicate if the platform should release the grades, e.g., to learners.
gradesReleased (optional): 플랫폼이 학습자 등에게 성적을 공개해야 하는지 여부를 나타내는 부울 값.
optional
availableIndicates the initial start and end time this activity should be made available to learners. A platform may choose to make an item not accessible by hiding it, or by disabling the link, or some other method which prevents the link from being opened by a learner. The initial value may subsequently be changed within the platform and the tool may use the ResourceLink.available.startDateTime and ResourceLink.available.endDateTime substitution parameters defined in LTI Core specification [LTI-13] within custom parameters to get the actual values at launch time. Note there may be many factors controlling the availability of an item by the platform, and tools are not guaranteed to receive available start and end times in a launch, even if they set them when creating content.
이 활동이 학습자에게 제공되어야 하는 초기 시작 및 종료 시간을 나타낸다. 플랫폼은 아이템에 접근할 수 없도록 하기 위해 아이템을 숨기거나 링크를 비활성화하거나 학습자가 링크를 열지 못하게 하는 다른 방법을 선택할 수 있다. 초기 값은 이후 플랫폼 내에서 변경될 수 있으며, 도구는 LTI Core Specification [LTI-13]에서 정의된 ResourceLink.available.startDateTime 및 ResourceLink.available.endDateTime 대체 매개변수를 사용자 지정 매개변수 내에서 사용하여 실행 시 실제 값을 얻을 수 있다. 플랫폼에서 아이템의 가용성을 제어하는 요인은 많을 수 있으며, 도구가 콘텐츠를 생성할 때 시작 및 종료 시간을 설정했더라도 실행 시점에 해당 가용 시작 및 종료 시간을 받을 것을 보장하지 않는다.
startDateTime (optional): ISO 8601 date and time when the link becomes accessible [ISO8601].
startDateTime (optional): 링크가 접근 가능해지는 시점을 나타내는 ISO 8601 날짜 및 시간 [ISO8601].
endDateTime (optional): ISO 8601 date and time when the link stops being accessible [ISO8601].
endDateTime (optional): 링크가 더 이상 접근할 수 없게 되는 시점을 나타내는 ISO 8601 날짜 및 시간 [ISO8601].
optional
submissionIndicates the initial start and end time submissions for this activity can be made by learners. The initial value may subsequently be changed within the platform and the tool may use the ResourceLink.submission.startDateTime and ResourceLink.submission.endDateTime substitution parameters defined in LTI Core specification [LTI-13] within custom parameters to get the actual values at launch time.
이 활동에 대해 학습자가 제출할 수 있는 초기 시작 및 종료 시간을 나타낸다. 초기 값은 이후 플랫폼 내에서 변경될 수 있으며, 도구는 LTI Core Specification [LTI-13]에서 정의된 ResourceLink.submission.startDateTime 및 ResourceLink.submission.endDateTime 대체 매개변수를 사용자 지정 매개변수 내에서 사용하여 실행 시점에 실제 값을 얻을 수 있다.
startDateTime (optional): ISO 8601 Date and time when the link can start receiving submissions [ISO8601].
startDateTime (optional): 제출을 받을 수 있는 링크의 시작 시점(ISO 8601 날짜 및 시간) [ISO8601].
endDateTime (optional): ISO 8601 Date and time when the link stops accepting submissions [ISO8601].
endDateTime (optional): 제출을 더 이상 받지 않는 링크의 종료 시점(ISO 8601 날짜 및 시간) [ISO8601].
optional

3.3 File

3.3 파일

A file is a resource transferred from the tool to stored and/or processed by the platform. The URL to the resource should be considered short lived and the platform must process the file within a short time frame (within minutes).

파일은 도구에서 플랫폼으로 전송되어 저장되거나 처리되는 리소스이다. 리소스에 대한 URL은 단기간 유효한 것으로 간주되어야 하며, 플랫폼은 해당 파일을 짧은 시간 내(몇 분 이내)에 처리해야 한다.

Properties of a file item are

파일 아이템의 속성은 다음과 같다.

NameDescriptionDisposition
typeValue must be file.
값은 file이어야 한다.
required
urlFully qualified URL of the resource. This link may be short-lived or expire after 1st use.
리소스의 완전한 URL. 이 링크는 단기간 유효하거나 첫 번째 사용 후 만료될 수 있다.
required
titleString, plain text to use as the title or heading for content.
제목 또는 헤딩으로 사용할 문자열(일반 텍스트).
optional
textString, plain text description of the content item intended to be displayed to all users who can access the item.
아이템에 접근할 수 있는 모든 사용자가 볼 수 있는 콘텐츠 아이템의 설명(문자열, 일반 텍스트).
optional
iconFully qualified URL, height, and width of an icon image to be placed with the file. A platform may not support the display of icons, but where it does, it may choose to use a local copy of the icon rather than linking to the URL provided (which would also allow it to resize the image to suit its needs).
완전한 URL, 높이, 너비: 파일과 함께 배치될 아이콘 이미지의 속성. 플랫폼이 아이콘 표시를 지원하지 않을 수도 있지만, 지원하는 경우 제공된 URL 대신 로컬 복사본을 사용할 수 있으며, 이를 통해 이미지를 필요에 따라 크기 조정할 수도 있다.
url: fully qualified URL to the image file.
url: 이미지 파일의 완전한 URL.
width: integer representing the width in pixels of the image.
width: 이미지의 너비(픽셀 단위, 정수).
height: integer representing the height in pixels of the image.
height: 이미지의 높이(픽셀 단위, 정수).
optional
thumbnailFully qualified URL, height, and width of a thumbnail image to be made a hyperlink. This allows the hyperlink to be opened within the platform from text or an image, or from both.
완전한 URL, 높이, 너비: 하이퍼링크로 사용할 썸네일 이미지의 속성. 이를 통해 텍스트, 이미지, 또는 둘 다를 통해 플랫폼 내에서 하이퍼링크를 열 수 있다.
url: fully qualified URL to the image file.
url: 이미지 파일의 완전한 URL.
width: integer representing the width in pixels of the image.
width: 이미지의 너비(픽셀 단위, 정수).
height: integer representing the height in pixels of the image.
height: 이미지의 높이(픽셀 단위, 정수).
optional
expiresAtISO 8601 Date and time [ISO8601]. The URL will be available until this time. No guarantees after that. (e.g. 2014-03-05T12:34:56Z).
ISO 8601 날짜 및 시간 [ISO8601]. URL은 이 시간까지 사용할 수 있다. 그 이후에는 보장이 되지 않는다. (예: 2014-03-05T12:34:56Z).
optional

3.4 HTML fragment

3.4 HTML 조각

An HTML fragment to be embedded in html document. If the HTML fragment renders a a single resource which is also addressable directly, the tool SHOULD use the link type with an embed code.

HTML 문서에 삽입할 수 있는 HTML 조각. HTML 조각이 단일 리소스를 렌더링하며, 해당 리소스에 직접 접근할 수 있는 경우, 도구는 링크 유형과 함께 embed 코드를 사용하는(SHOULD) 것이 권장된다.

Properties of an HTML fragment are:

HTML 조각의 속성은 다음과 같다.

NameDescriptionDisposition
typeValue must be html.
값은 html이어야 한다.
required
htmlHTML fragment to be embedded. The platform is expected to sanitize it against cross-site scripting attacks.
삽입할 HTML 조각. 플랫폼은 이를 교차 사이트 스크립팅 공격에 대비하여 반드시 검증해야 한다.
required
titleString, plain text to use as the title or heading for content.
제목 또는 헤딩으로 사용할 문자열(일반 텍스트).
optional
textString, plain text description of the content item intended to be displayed to all users who can access the item.
아이템에 접근할 수 있는 모든 사용자가 볼 수 있는 콘텐츠 아이템의 설명(문자열, 일반 텍스트).
optional

3.5 Image

3.5 이미지

Image is a URL pointing to an image resource that SHOULD be rendered directly in the browser agent using the HTML img tag.

이미지는 HTML img 태그를 사용하여 브라우저 에이전트에서 직접 렌더링되어야 하는(SHOULD) 이미지 리소스를 가리키는 URL이다.

Properties of image are:

이미지의 속성은 다음과 같다.

NameDescriptionDisposition
typeValue must be image.
값은 image여야 한다.
required
urlFully qualified URL of the image.
이미지의 완전한 URL.
required
titleString, plain text to use as the title or heading for content.
제목 또는 헤딩으로 사용할 문자열(일반 텍스트).
optional
textString, plain text description of the content item intended to be displayed to all users who can access the item.
아이템에 접근할 수 있는 모든 사용자가 볼 수 있는 콘텐츠 아이템의 설명(문자열, 일반 텍스트).
optional
iconFully qualified URL, height, and width of an icon image to be placed with the file. A platform may not support the display of icons, but where it does, it may choose to use a local copy of the icon rather than linking to the URL provided (which would also allow it to resize the image to suit its needs).
완전한 URL, 높이, 너비: 파일과 함께 배치될 아이콘 이미지의 속성. 플랫폼이 아이콘 표시를 지원하지 않을 수도 있지만, 지원하는 경우 제공된 URL 대신 로컬 복사본을 사용할 수 있으며, 이를 통해 이미지를 필요에 따라 크기 조정할 수도 있다.
url: fully qualified URL to the image file.
url: 이미지 파일의 완전한 URL.
width: integer representing the width in pixels of the image.
width: 이미지의 너비(픽셀 단위, 정수).
height: integer representing the height in pixels of the image.
height: 이미지의 높이(픽셀 단위, 정수).
optional
thumbnailFully qualified URL, height, and width of a thumbnail image to be made a hyperlink. This allows the hyperlink to be opened within the platform from text or an image, or from both.
완전한 URL, 높이, 너비: 하이퍼링크로 사용할 썸네일 이미지의 속성. 이를 통해 텍스트, 이미지, 또는 둘 다를 통해 플랫폼 내에서 하이퍼링크를 열 수 있다.
url: fully qualified URL to the image file.
url: 이미지 파일의 완전한 URL.
width: integer representing the width in pixels of the image.
width: 이미지의 너비(픽셀 단위, 정수).
height: integer representing the height in pixels of the image.
height: 이미지의 높이(픽셀 단위, 정수).
optional
widthInteger representing the width in pixels of the image.
정수 값으로, 이미지의 너비(픽셀 단위)를 나타낸다.
optional
heightInteger representing the height in pixels of the image.
정수 값으로, 이미지의 높이(픽셀 단위)를 나타낸다.
optional

3.6 Extending a type

3.6 유형 확장

Type definitions may be enriched with additional properties. The key for custom properties SHOULD be a fully qualified URL. This requirement does not apply to nested properties of the added property.

유형 정의는 추가 속성을 통해 확장될 수 있다. 사용자 지정 속성의 키는 완전한 URL이어야(SHOULD) 한다. 이 요구사항은 추가된 속성의 중첩 속성에는 적용되지 않는다.

For example:

예를 들어,

{
  "type": "image",
  "url": "https://www.example.com/image.png",
  "https://www.example.com/resourceMetadata": {
    "license": "CCBY4.0"
  }
}

Figure 2

Example of type extension via the addition of a custom property

3.7 Defining new types

3.7 새로운 유형 정의

The Deep linking specification defines a flow to transfer item(s) from the tool to the platform. In the future, it is expected to be leveraged to transfer of other types of items.

Deep Linking 표준은 도구에서 플랫폼으로 아이템을 전송하는 흐름을 정의한다. 앞으로 이 흐름은 다른 유형의 아이템 전송에도 활용될 것으로 예상된다.

When a new type is added, it must to the minimum contain a type property and a value that uniquely identifies the new type. To avoid collisions, the value must be a fully qualified URL unless specified otherwise by IMS Global.

새로운 유형이 추가될 때 최소한 type 속성과 새 유형을 고유하게 식별하는 값을 포함해야 한다. 충돌을 방지하기 위해, 값은 IMS Global에서 별도로 명시하지 않는 한 완전한 URL이어야 한다.

4. LTI Deep Linking interaction

4. LTI Deep Linking 상호작용

LTI platforms and tools use messages to transfer the user agent from one host to the other through an HTML form post redirection containing the message payload. The deep linking, bi-directional workflow employs separate request and response messages:

LTI 플랫폼과 도구는 메시지를 사용하여 HTML 폼 포스트 리디렉션을 통해 사용자 에이전트를 한 호스트에서 다른 호스트로 전송하며, 이 리디렉션에는 메시지 페이로드가 포함된다. Deep Linking의 양방향 워크플로우는 개별적인 요청 메시지와 응답 메시지를 사용한다.

  • The deep linking deep linking request message flows from the platform to the tool to initiate the deep linking resource selection/creation workflow.
    Deep Linking 요청 메시지는 플랫폼에서 도구로 전달되어 Deep Linking 리소스 선택/생성 워크플로우를 시작한다.
  • The deep linking deep linking response message flows from the tool back to the platform to send back the results of selection/creation and close off the workflow.
    Deep Linking 응답 메시지는 도구에서 플랫폼으로 전달되어 선택/생성 결과를 반환하고 워크플로우를 종료한다.

4.1 JSON Web Token

4.1 JSON Web Token

As with the core resource link launch request, the senders of the deep linking messages MUST wrap the payload in a JSON Web Token (JWT) [RFC7519]. This allows the receiver of a deep linking message to trust the authenticity and origin of the message even though the messages travel through the user's browser. For details on the process by which message senders encode messages into JWTs, see the IMS Security Framework specification [SEC-10].

핵심 리소스 링크 실행 요청과 마찬가지로, Deep Linking 메시지의 발신자는 페이로드를 JSON Web Token (JWT) [RFC7519]으로 반드시(MUST) 래핑해야 한다. 이를 통해 Deep Linking 메시지가 사용자의 브라우저를 통해 전송되더라도 수신자는 메시지의 진위성과 출처를 신뢰할 수 있다. 메시지 발신자가 메시지를 JWT로 인코딩하는 과정에 대한 자세한 내용은 IMS 보안 프레임워크 표준 [SEC-10]을 참조할 수 있다.

4.2 Message claims

4.2 메시지 클레임

Both deep linking message types consist of a set of claims that supplement the ones mandated by the IMS Security Framework [SEC-10] specification. Additionally, both message types include many of the claims defined in the core LTI resource link launch request message, defined in LTI 1.3 [LTI-13]. This document lists the claims here, but see the above referenced specifications for their full definitions.

두 가지 Deep Linking 메시지 유형은 IMS 보안 프레임워크 [SEC-10] 표준에서 요구하는 클레임을 보완하는 일련의 클레임으로 구성된다. 또한, 두 메시지 유형 모두 LTI 1.3 [LTI-13]에서 정의된 핵심 LTI 리소스 링크 실행 요청 메시지에 포함된 많은 클레임을 포함한다. 이 문서는 해당 클레임을 나열하지만, 각 클레임의 전체 정의는 위에서 참조된 표준을 참조할 수 있다.

4.3 Message type and schemas

4.3 메시지 유형과 스키마

Each deep linking message's https://purl.imsglobal.org/spec/lti/claim/message_type claim value declares the appropriate message type. Both deep linking message types have associated JSON schemas that formally define all their claims, which claims are required, and which are optional.

각 Deep Linking 메시지의 https://purl.imsglobal.org/spec/lti/claim/message_type 클레임 값은 적절한 메시지 유형을 선언한다. 두 가지 Deep Linking 메시지 유형 모두 관련된 JSON 스키마를 가지며, 이는 모든 클레임, 필수 클레임, 선택적 클레임을 공식적으로 정의한다.

NameMessage type valueSchema
Deep linking requestLtiDeepLinkingRequestLTI Deep Linking Request schema
Deep linking responseLtiDeepLinkingResponseLTI Deep Linking Response schema

4.4 Deep linking request message

4.4 Deep Linking 요청 메시지

The LTI Deep Linking request message is a signed JWT that the platform passes to the tool with the same message parameters in the deep linking request message as it would in the resource link launch request message with the exception of the resource link claim, along with some additional parameters.

LTI Deep Linking 요청 메시지는 서명된 JWT로, 플랫폼이 도구에 전달하며, 이 메시지는 리소스 링크 클레임을 제외하고 리소스 링크 실행 요청 메시지와 동일한 메시지 매개변수와 몇 가지 추가 매개변수를 포함한다.

An LtiDeepLinkingRequest JWT contains the following claims:

LtiDeepLinkingRequest JWT는 다음 클레임을 포함한다.

4.4.1 Deep linking settings

4.4.1 Deep Linking 설정

The required https://purl.imsglobal.org/spec/lti-dl/claim/deep_linking_settings claim composes properties that characterize the kind of deep linking request the platform user is making, as in the following example:

필수 클레임인 https://purl.imsglobal.org/spec/lti-dl/claim/deep_linking_settings는 플랫폼 사용자가 생성하는 Deep Linking 요청의 특성을 정의하는 속성들로 구성된다. 다음은 예시이다.

{
  "https://purl.imsglobal.org/spec/lti-dl/claim/deep_linking_settings": {
    "accept_types": ["link", "file", "html", "ltiResourceLink", "image"],
    "accept_media_types": "image/:::asterisk:::,text/html",
    "accept_presentation_document_targets": ["iframe", "window", "embed"],
    "accept_multiple": true,
    "auto_create": true,
    "title": "This is the default title",
    "text": "This is the default text",
    "data": "Some random opaque data that MUST be sent back",
    "deep_link_return_url": "https://platform.example/deep_links"
  }
}

Figure 3

Example of the deep_linking_settings claim.

The deep_linking_settings claim has the following properties:

deep_linking_settings 클레임은 다음과 같은 속성을 가진다.

NameDescriptionDisposition
deep_link_return_urlFully qualified URL where the tool redirects the user back to the platform interface. This URL can be used once the tool is finished.
플랫폼 인터페이스로 사용자를 다시 리디렉션하기 위해 도구가 사용하는 완전한 URL. 도구 작업이 완료되면 이 URL이 사용될 수 있다.
required
accept_typesAn array of types accepted, e.g., ["link", "ltiResourceLink"].
플랫폼에서 허용하는 유형의 배열(예: ["link", "ltiResourceLink"]).
required
accept_presentation_document_targetsAn array of document targets supported, e.g., ["iframe", "window", "embed"].
지원되는 문서 대상의 배열(예: ["iframe", "window", "embed"]).
required
accept_media_typesMedia types [RFC7231] the platform accepts. This only applies to File types, e.g., "image/:::asterisk:::,text/html".
플랫폼이 허용하는 미디어 타입 [RFC7231]. 이는 파일 유형에만 적용되며, 예를 들어 "image/*,text/html" 같은 형식이다.
optional
accept_multipleBoolean - Whether the platform allows multiple content items to be submitted in a single response.
Boolean: 플랫폼이 단일 응답에서 여러 콘텐츠 아이템의 제출을 허용하는지 여부.
optional
accept_lineitemBoolean - whether the platform in the context of that deep linking request supports or ignores line items included in LTI Resource Link items. False indicates line items will be ignored. True indicates the platform will create a line item when creating the resource link. If the field is not present, no assumption that can be made about the support of line items.
Boolean - 해당 Deep Linking 요청의 컨텍스트에서 플랫폼이 LTI 리소스 링크 아이템에 포함된 line item을 지원하거나 무시하는지 여부를 나타낸다. False는 line item이 무시됨을 의미하고, True는 플랫폼이 리소스 링크를 생성할 때 line item을 생성함을 의미한다. 이 필드가 존재하지 않으면 line item 지원에 대한 어떠한 가정도 할 수 없다.
optional
auto_createBoolean - whether any content items returned by the tool would be automatically persisted without any option for the user to cancel the operation. The default is false.
Boolean - 도구에서 반환한 콘텐츠 아이템이 사용자에게 작업 취소 옵션 없이 자동으로 저장될지 여부. 기본값은 false.
optional
titleDefault text to be used as the title or alt text for the content item returned by the tool. This value is normally short in length, for example, suitable for use as a heading.
도구에서 반환한 콘텐츠 아이템의 제목 또는 대체 텍스트로 사용할 기본 텍스트. 이 값은 보통 짧은 길이로, 예를 들어 헤딩으로 적합하다.
optional
textDefault text to be used as the visible text for the content item returned by the tool. If no text is returned by the tool, the platform may use the value of the title parameter instead (if any). This value may be a long description of the content item.
도구에서 반환한 콘텐츠 아이템의 가시적 텍스트로 사용할 기본 텍스트. 도구에서 텍스트를 반환하지 않으면, 플랫폼은 대신 title 매개변수 값을 사용할 수 있다(있는 경우). 이 값은 콘텐츠 아이템에 대한 긴 설명일 수 있다.
optional
dataAn opaque value which must be returned by the tool in its response if it was passed in on the request.
요청 시 도구가 전달한 경우, 도구가 응답에서 반환해야 하는 불투명 값.
optional

4.4.2 Message type

4.4.2 메시지 유형

As defined in the LTI Core specification [LTI-13], the required https://purl.imsglobal.org/spec/lti/claim/message_type claim must have the value LtiDeepLinkingRequest.

LTI Core 표준 [LTI-13]에서 정의된 대로, 필수 클레임인 https://purl.imsglobal.org/spec/lti/claim/message_type 는 LtiDeepLinkingRequest 값을 가져야 한다.

4.4.3 LTI version

4.4.3 LTI 버전

As defined in the LTI Core specification [LTI-13], the required https://purl.imsglobal.org/spec/lti/claim/version claim must have the value 1.3.0.

LTI Core 표준 [LTI-13]에서 정의된 대로, 필수 클레임인 https://purl.imsglobal.org/spec/lti/claim/version 은 1.3.0 값을 가져야 한다.

4.4.4 Deployment ID

4.4.4 배포 ID

As defined in the LTI Core specification [LTI-13], the required https://purl.imsglobal.org/spec/lti/claim/deployment_id claim identifies the platform-tool integration governing the message.

LTI Core 표준 [LTI-13]에서 정의된 대로, 필수 클레임인 https://purl.imsglobal.org/spec/lti/claim/deployment_id 는 메시지를 관리하는 플랫폼-도구 통합을 식별한다.

4.4.5 User

4.4.5 사용자

As defined in the LTI Core specification [LTI-13], the sub claim identifies the user that initiated the deep linking request. Other user related claims may be included as defined in LTI 1.3 [LTI-13].

LTI Core 표준 [LTI-13]에서 정의된 대로, sub 클레임은 Deep Linking 요청을 시작한 사용자를 식별한다. 다른 사용자 관련 클레임은 LTI 1.3 [LTI-13]에서 정의된 대로 포함될 수 있다.

4.4.6 Launch Presentation

4.4.6 실행 프레젠테이션

As defined in the LTI Core specification [LTI-13], the optional https://purl.imsglobal.org/spec/lti/claim/launch_presentation claim composes properties that describe aspects of how the message sender expects to host the presentation of the message receiver's user experience (for example, the height and width of the viewport the message sender gives over to the message receiver), as in the Deep linking request example.

LTI Core 표준 [LTI-13]에서 정의된 대로, 선택적 https://purl.imsglobal.org/spec/lti/claim/launch_presentation 클레임은 메시지 발신자가 메시지 수신자의 사용자 경험을 어떻게 표시할 것인지에 대한 속성들을 구성한다. 이것은 Deep Linking 요청 예시와 같다.

예: 메시지 발신자가 메시지 수신자에게 제공하는 뷰포트의 높이와 너비 등

4.4.7 Platform

4.4.7 플랫폼

As defined in the LTI Core specification [LTI-13], the optional http://purl.imsglobal.org/lti/claim/tool_platform claim composes properties associated with the platform initiating the launch, as in the Deep linking request example.

LTI Core 표준 [LTI-13]에서 정의된 대로, 선택적 http://purl.imsglobal.org/lti/claim/tool_platform 클레임은 실행을 시작하는 플랫폼과 관련된 속성들을 구성한다. 이는 Deep Linking 요청 예시와 같다.

4.4.8 Context

4.4.8 컨텍스트

As defined in the LTI Core specification [LTI-13], the optional https://purl.imsglobal.org/spec/lti/claim/context claim composes properties for the platform context from within which the deep linking request occurs (typically from within a course or course section).

LTI Core 표준 [LTI-13]에서 정의된 대로, 선택적 https://purl.imsglobal.org/spec/lti/claim/contex 클레임은 Deep Linking 요청이 발생하는 플랫폼 컨텍스트(일반적으로 강좌 또는 강좌 섹션 내)와 관련된 속성들을 구성한다.

4.4.9 Role

4.4.9 역할

As defined in the LTI Core specification [LTI-13], the optional https://purl.imsglobal.org/spec/lti/claim/roles claim contains a (possibly empty) array of roles that the user has within the message's associated context.

LTI Core 표준 [LTI-13]에서 정의된 대로, 선택적 https://purl.imsglobal.org/spec/lti/claim/roles 클레임은 메시지와 관련된 컨텍스트 내에서 사용자가 가진 (비어 있을 수 있는) 역할 배열을 포함한다.

4.4.10 Role-scope mentor

4.4.10 역할 범위 멘토

As defined in the LTI Core specification [LTI-13], the optional https://purl.imsglobal.org/spec/lti/claim/role_scope_mentor claim's value contains an array of the user ID values which the current, launching user can access as a mentor (for example, the launching user may be a parent or auditor of a list of other users).

LTI Core 표준 [LTI-13]에서 정의된 대로, 선택적 https://purl.imsglobal.org/spec/lti/claim/role_scope_mentor 클레임의 값은 현재 실행 중인 사용자가 멘토로서 접근할 수 있는 사용자 ID 값의 배열을 포함한다. (예: 실행 중인 사용자가 다른 사용자들의 부모나 감사자일 수 있다)

4.4.11 Custom properties

4.4.11 사용자 지정 속성

As defined in the LTI Core specification [LTI-13], the optional http://imsglobal.org/custom claim acts like a key-value map of defined custom properties that a platform may associate with the particular placement of the resource link that initiated the launch. Map values must be strings. Note that "empty-string" is a valid value (""); however, null is not a valid value.

LTI Core 표준 [LTI-13]에서 정의된 대로, 선택적 http://imsglobal.org/custom 클레임은 플랫폼이 실행을 시작한 리소스 링크의 특정 배치와 관련하여 연결할 수 있는 정의된 사용자 지정 속성의 키-값 맵처럼 작용한다. 맵의 값은 문자열이어야 한다. "빈 문자열(empty-string)"은 유효한 값으로 간주되지만, null은 유효한 값이 아니다.

4.5 Deep linking response message

4.5 Deep Linking 응답 메시지

The LTI Deep Linking response message is a Tool-Originating Message as defined in the Tool-Originating messages section of the Security Framework specification [SEC-10].

LTI Deep Linking 응답 메시지는 Tool-Originating Message로, 보안 프레임워크 표준 [SEC-10]의 Tool-Originating 메시지 섹션에서 정의된 대로, 전체 Deep Linking 워크플로우의 마지막 부분을 차지한다.

The response message covers the last part of the overall deep linking workflow: a user has finished selecting or creating one or multiple resources in the external tool, and the user needs to be redirected back to the platform with information about the resources to be added; the User Agent redirection is done using a form POST with the form parameter JWT being the response message.

사용자는 외부 도구에서 하나 이상의 리소스를 선택하거나 생성하는 작업을 완료한 후, 플랫폼으로 다시 리디렉션되어 추가할 리소스에 대한 정보가 제공되어야 한다. 사용자 에이전트 리디렉션은 폼 POST를 사용하여 이루어지며, 폼 매개변수 JWT는 응답 메시지이다.

The message contains a JSON array of the items to be added. This array could be empty, if no item were selected or created.

응답 메시지는 추가할 아이템들의 JSON 배열을 포함한다. 이 배열은 아이템이 선택되거나 생성되지 않은 경우 비어 있을 수 있다.

An LtiDeepLinkingResponse JWT contains the following claims in addition to the ones required by the Security Framework specification [SEC-10]:

LtiDeepLinkingResponse JWT는 보안 프레임워크 표준 [SEC-10]에서 요구하는 클레임 외에 다음 클레임들을 포함한다.

4.5.1 aud

4.5.1 aud

As defined in the Security Framework specification [SEC-10], the required aud must contain the case-sensitive URL used by the Platform to identify itself as an Issuer, that is the iss value in the Deep Linking request message.

보안 프레임워크 표준 [SEC-10]에서 정의된 대로, 필수 aud는 플랫폼이 발급자(Issuer)로 자신을 식별하는 데 사용되는 대소문자를 구분하는 URL을 포함해야 한다. 이것은 Deep Linking 요청 메시지에서 iss 값에 해당한다.

4.5.2 Message type

4.5.2 메시지 유형

As defined in the LTI Core specification [LTI-13], the required https://purl.imsglobal.org/spec/lti/claim/message_type claim must have the value LtiDeepLinkingResponse.

LTI Core 표준 [LTI-13]에서 정의된 대로, 필수 클레임인 https://purl.imsglobal.org/spec/lti/claim/message_type 는 LtiDeepLinkingResponse 값을 가져야 한다.

4.5.3 LTI version

4.5.3 LTI 버전

As defined in the LTI Core specification [LTI-13], the required https://purl.imsglobal.org/spec/lti/claim/version claim must have the value 1.3.0.

LTI Core 표준 [LTI-13]에서 정의된 대로, 필수 클레임인 https://purl.imsglobal.org/spec/lti/claim/version 은 1.3.0 값을 가져야 한다.

4.5.4 Deployment ID

4.5.4 배포 ID

As defined in the LTI Core specification [LTI-13], the required https://purl.imsglobal.org/spec/lti/claim/deployment_id claim identifies the platform-tool integration governing the message.

LTI Core 표준 [LTI-13]에서 정의된 대로, 필수 클레임인 https://purl.imsglobal.org/spec/lti/claim/deployment_id 는 메시지를 관리하는 플랫폼-도구 통합을 식별한다.

4.5.5 Data

4.5.5 데이터

The https://purl.imsglobal.org/spec/lti-dl/claim/data value must match the value of the data property of the https://purl.imsglobal.org/spec/lti-dl/claim/deep_linking_settings claim from the LtiDeepLinkinkingRequest message. This claim is required if present in LtiDeepLinkingRequest message.

https://purl.imsglobal.org/spec/lti-dl/claim/data 값은 LtiDeepLinkingRequest 메시지의 https://purl.imsglobal.org/spec/lti-dl/claim/deep_linking_settings 클레임에서 data 속성의 값과 일치해야 한다. 이 클레임은 LtiDeepLinkingRequest 메시지에 포함되어 있을 경우 필수이다.

4.5.6 Content items

4.5.6 콘텐츠 아이템

A possibly empty JSON array of selected content items all appear composed within the https://purl.imsglobal.org/spec/lti-dl/claim/content_items claim. An empty array or the absence of this claim indicates there should be no item added as a result of this interaction. This claim is optional.

선택된 콘텐츠 아이템들의 JSON 배열은 모두 https://purl.imsglobal.org/spec/lti-dl/claim/content_items 클레임 내에 포함된다. 비어 있는 배열이나 이 클레임의 부재는 이 상호작용의 결과로 아이템이 추가되지 않아야 함을 나타낸다. 이 클레임은 선택적이다.

4.5.7 Message

4.5.7 메시지

The optional https://purl.imsglobal.org/spec/lti-dl/claim/msg value is a plain text string of a message the platform may show to the end user upon return to the platform.

선택적 https://purl.imsglobal.org/spec/lti-dl/claim/msg 값은 플랫폼이 최종 사용자가 플랫폼으로 돌아올 때 표시할 수 있는 메시지의 일반 텍스트 문자열이다.

4.5.8 Log

4.5.8 로그

The optional https://purl.imsglobal.org/spec/lti-dl/claim/log claim value is a plain text string of a message the platform may log when processing this message.

선택적 https://purl.imsglobal.org/spec/lti-dl/claim/log 클레임 값은 플랫폼이 이 메시지를 처리할 때 기록할 수 있는 메시지의 일반 텍스트 문자열이다.

4.5.9 Error message

4.5.9 오류 메시지

The optional https://purl.imsglobal.org/spec/lti-dl/claim/errormsg claim value is a plain text string of a message the platform may show to the end user upon return to the platform. It indicates some error as occurred during the interaction.

선택적 https://purl.imsglobal.org/spec/lti-dl/claim/errormsg 클레임 값은 플랫폼이 최종 사용자가 플랫폼으로 돌아올 때 표시할 수 있는 오류 메시지의 일반 텍스트 문자열이다. 이 값은 상호작용 중에 오류가 발생했음을 나타낸다.

4.5.10 ErrorLog

4.5.10 오류 로그

The optional https://purl.imsglobal.org/spec/lti-dl/claim/errorlog claim value is a plain text string of a message the platform may log when processing this message. It indicates some error as occurred during the interaction.

선택적 https://purl.imsglobal.org/spec/lti-dl/claim/errorlo 클레임 값은 플랫폼이 이 메시지를 처리할 때 기록할 수 있는 오류 메시지의 일반 텍스트 문자열이다. 이 값은 상호작용 중에 오류가 발생했음을 나타낸다.

4.6 Message types

4.6 메시지 유형

This section describes how to migrate from Deep Linking 1.0 specification [LTI-DL-10].

이 섹션은 Deep Linking 1.0 표준 [LTI-DL-10]에서 Deep Linking 2.0 표준으로의 마이그레이션 방법을 설명한다.

The key difference is that under Deep Linking 2.0 messages are signed JSON payloads (JSON Web Token) [RFC7519]. In addition to the message format itself, some changes have been made to clarify the type system and simplify the JSON structure to be more concise and with less nesting.

주요 차이점은 Deep Linking 2.0에서 메시지가 서명된 JSON 페이로드(JSON Web Token) [RFC7519]로 전달된다는 것이다. 메시지 형식 자체 외에도, 타입 시스템을 명확히 하고 JSON 구조를 간결하게 하여 중첩을 줄이는 등의 변경이 이루어졌다.

The following tables illustrate how to map LTI Deep Linking 1.0 terminology with the one from this version of the specification:

다음 표는 LTI Deep Linking 1.0 용어를 이 표준 버전에서 사용하는 용어와 어떻게 매핑하는지 보여준다.

Deep Linking 1.0Deep Linking 2.0
ContentItemSelectionRequestLtiDeepLinkingRequest
ContentItemSelectionLtiDeepLinkingResponse

4.6.1 Content Item Types

4.6.1 콘텐츠 아이템 유형

Deep Linking 1.0 media-typeDeep Linking 2.0 type
application/vnd.ims.lti.v1.ltiResourceLinkltiResourceLink
image/:::asterisk::: unless
copyAdvice: true
image
text/html (html fragment to embed)html if the item is not directly addressable with a URL. If directly accessible, link with embed is preferred.
URL로 직접 접근할 수 없는 아이템은 HTML을 사용한다. 직접 접근할 수 있는 경우, 링크와 embed를 사용하는 것이 선호된다.
text/html (link to an external site)link
any other media type, copyAdvice: falselink
any other media type, copyAdvice: truefile

4.6.2 Presentation target document

4.6.2 프레젠테이션 대상 문서

This specification also simplifies the possible values for the presentation options to the technical choices: embedded code, iframe or new window.

이 표준은 프레젠테이션 옵션에 대한 가능한 값을 기술적 선택인 임베디드 코드, iframe 또는 새 창으로 단순화한다.

Deep Linking 1.0Deep Linking 2.0
embedembed
framewindow, target: self
iframeiframe
windowwindow
popupwindow or iframe, depending on how the platform intends to render a popup
window 또는 iframe: 플랫폼이 팝업을 어떻게 렌더링할지에 따라 결정된다.
overlaywindow, embed or iframe, depending on how the platform intends to render an overlay
window, embed 또는 iframe: 플랫폼이 오버레이를 어떻게 렌더링할지에 따라 결정된다.
noneempty array
빈 배열

A. Deep linking request example

A. Deep Linking 요청 예시

The LTI Deep Linking launch request message JSON object follows the form in this example.

LTI Deep Linking 실행 요청 메시지 JSON 객체는 이 예시에서와 같은 형식을 따른다.

{
"iss": "https://platform.example.org",
"sub": "a6d5c443-1f51-4783-ba1a-7686ffe3b54a",
"aud": ["962fa4d8-bcbf-49a0-94b2-2de05ad274af"],
"exp": 1510185728,
"iat": 1510185228,
"azp": "962fa4d8-bcbf-49a0-94b2-2de05ad274af",
"nonce": "fc5fdc6d-5dd6-47f4-b2c9-5d1216e9b771",
"name": "Ms Jane Marie Doe",
"given_name": "Jane",
"family_name": "Doe",
"middle_name": "Marie",
"picture": "https://example.org/jane.jpg",
"email": "jane@example.org",
"locale": "en-US",
"https://purl.imsglobal.org/spec/lti/claim/deployment_id":
"07940580-b309-415e-a37c-914d387c1150",
"https://purl.imsglobal.org/spec/lti/claim/message_type": "LtiDeepLinkingRequest",
"https://purl.imsglobal.org/spec/lti/claim/version": "1.3.0",
"https://purl.imsglobal.org/spec/lti/claim/roles": [
"http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor",
"http://purl.imsglobal.org/vocab/lis/v2/institution/person#Faculty"
],
"https://purl.imsglobal.org/spec/lti/claim/context": {
"id": "c1d887f0-a1a3-4bca-ae25-c375edcc131a",
"label": "ECON 101",
"title": "Economics as a Social Science",
"type": ["CourseOffering"]
},
"https://purl.imsglobal.org/spec/lti/claim/tool_platform": {
"contact_email": "support@example.org",
"description": "An Example Tool Platform",
"name": "Example Tool Platform",
"url": "https://example.org",
"product_family_code": "example.org",
"version": "1.0"
},
"https://purl.imsglobal.org/spec/lti/claim/launch_presentation": {
"document_target": "iframe",
"height": 320,
"width": 240
},
"https://purl.imsglobal.org/spec/lti/claim/custom": {
"myCustom": "123"
},
"https://purl.imsglobal.org/spec/lti-dl/claim/deep_linking_settings": {
"deep_link_return_url": "https://platform.example/deep_links",
"accept_types": ["link", "file", "html", "ltiResourceLink", "image"],
"accept_media_types": "image/:::asterisk:::,text/html",
"accept_presentation_document_targets": ["iframe", "window", "embed"],
"accept_multiple": true,
"auto_create": true,
"title": "This is the default title",
"text": "This is the default text",
"data": "csrftoken:c7fbba78-7b75-46e3-9201-11e6d5f36f53"
}
}

Figure 4

Example of the LTI Deep Linking launch request message JSON object

B. Deep linking response example

B. Deep Linking 응답 예시

The LTI Deep Linking launch response message JSON object follows the form in this example.

LTI Deep Linking 실행 응답 메시지 JSON 객체는 이 예시에서와 같은 형식을 따른다.

{
"iss": "962fa4d8-bcbf-49a0-94b2-2de05ad274af",
"aud": "https://platform.example.org",
"exp": 1510185728,
"iat": 1510185228,
"nonce": "fc5fdc6d-5dd6-47f4-b2c9-5d1216e9b771",
"azp": "962fa4d8-bcbf-49a0-94b2-2de05ad274af",
"https://purl.imsglobal.org/spec/lti/claim/deployment_id":
"07940580-b309-415e-a37c-914d387c1150",
"https://purl.imsglobal.org/spec/lti/claim/message_type":
"LtiDeepLinkingResponse",
"https://purl.imsglobal.org/spec/lti/claim/version": "1.3.0",
"https://purl.imsglobal.org/spec/lti-dl/claim/content_items": [
{
"type": "link",
"title": "My Home Page",
"url": "https://something.example.com/page.html",
"icon": {
"url": "https://lti.example.com/image.jpg",
"width": 100,
"height": 100
},
"thumbnail": {
"url": "https://lti.example.com/thumb.jpg",
"width": 90,
"height": 90
}
},
{
"type": "html",
"html": "<h1>A Custom Title</h1>"
},
{
"type": "link",
"url": "https://www.youtube.com/watch?v=corV3-WsIro",
"embed": {
"html":
"<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/corV3-WsIro\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen></iframe>"
},
"window": {
"targetName": "youtube-corV3-WsIro",
"windowFeatures": "height=560,width=315,menubar=no"
},
"iframe": {
"width": 560,
"height": 315,
"src": "https://www.youtube.com/embed/corV3-WsIro"
}
},
{
"type": "image",
"url": "https://www.example.com/image.png",
"https://www.example.com/resourceMetadata": {
"license": "CCBY4.0"
}
},
{
"type": "ltiResourceLink",
"title": "A title",
"text": "This is a link to an activity that will be graded",
"url": "https://lti.example.com/launchMe",
"icon": {
"url": "https://lti.example.com/image.jpg",
"width": 100,
"height": 100
},
"thumbnail": {
"url": "https://lti.example.com/thumb.jpg",
"width": 90,
"height": 90
},
"lineItem": {
"scoreMaximum": 87,
"label": "Chapter 12 quiz",
"resourceId": "xyzpdq1234",
"tag": "originality",
"gradesReleased": true
},
"available": {
"startDateTime": "2018-02-06T20:05:02Z",
"endDateTime": "2018-03-07T20:05:02Z"
},
"submission": {
"endDateTime": "2018-03-06T20:05:02Z"
},
"custom": {
"quiz_id": "az-123",
"duedate": "$ResourceLink.submission.endDateTime"
},
"window": {
"targetName": "examplePublisherContent"
},
"iframe": {
"height": 890
}
},
{
"type": "file",
"title": "A file like a PDF that is my assignment submissions",
"url": "https://my.example.com/assignment1.pdf",
"mediaType": "application/pdf",
"expiresAt": "2018-03-06T20:05:02Z"
},
{
"type": "https://www.example.com/custom_type",
"data": "somedata"
}
],
"https://purl.imsglobal.org/spec/lti-dl/claim/data":
"csrftoken:c7fbba78-7b75-46e3-9201-11e6d5f36f53"
}

Figure 5

Example of the LTI Deep Linking launch request message JSON object

C. Revision history

C. 개정 이력

This section is non-normative.

이 섹션은 비규범적이다.

LTI Deep Linking 2.0 follows from, and replaces, the IMS LTI Content-Item Message specification released in 2016 (later rebranded as IMS LTI Deep Linking 1.0). LTI Deep Linking 2.0 improves upon the previous LTI Deep Linking 1.0 [LTI-DL-10] specification by moving away from the use of OAuth 1.0a-style signing for authentication and towards the newer security model described in the IMS Security Framework specification, using signed JSON Web Tokens (JWT) and OAuth 2.0 workflows for authentication. It also clarifies the types, and outlines the extension mechanisms available to implementers.

LTI Deep Linking 2.0은 2016년에 발표된 IMS LTI LTI Content-Item Message 표준을 기반으로 하여 이를 대체한다. LTI Deep Linking 2.0은 이전 LTI Deep Linking 1.0 [LTI-DL-10] 표준을 개선하여, 인증을 위한 OAuth 1.0a 스타일 서명 사용을 중단하고, IMS 보안 프레임워크 표준에서 설명된 최신 보안 모델을 사용하여 서명된 JSON Web Tokens (JWT) 및 OAuth 2.0 워크플로우를 통한 인증을 채택한다. 또한, 유형을 명확히 하고, 구현자가 사용할 수 있는 확장 메커니즘을 설명한다.

나중에 IMS LTI Deep Linking 1.0으로 이름 변경

C.1 Version History

C.1 버전 이력

Spec Version No.Document Version No.Release DateComments
v1.0 Final24 May 2016First release of the Deep Linking specification (formerly known as Content-Item Message).
Deep Linking 표준의 첫 번째 릴리스 (이전에는 Content-Item Message로 알려짐).
v2.0 Final16 April 2019Updates to synchronize with the IMS Security Framework and LTI v1.3 specifications.
IMS 보안 프레임워크와 LTI v1.3 표준에 맞추기 위한 업데이트.
v2.0 Final30 July 2019Changes to correct minor errors and provide clearer details (see errata for specific changes).
사소한 오류를 수정하고 명확한 세부 정보를 제공하기 위한 변경 사항(구체적인 변경 사항은 정오표 참조).
v2.0 Final129 October 2019Changes to correct the case (from "LTIDeepLinkingResponse" to "LtiDeepLinkingResponse") and to make some clarifications in the Deep Linking examples.
Deep Linking 응답 메시지에서 "LTIDeepLinkingResponse"를 "LtiDeepLinkingResponse"로 수정하고, Deep Linking 예시에서 몇 가지 사항을 명확히 하기 위한 변경 사항.
v2.0 Final224 January 2023Clarify allowable values for custom properties.
사용자 정의 속성에 대해 허용 가능한 값을 명확히 정의.
Add accept_lineitem to Deep Linking settings. (docs)
Deep Linking 설정에 accept_lineitem 추가. (docs)
Clarify that custom property values must be strings.
사용자 지정 속성 값은 문자열이어야 함을 명확히 함.
Add gradesReleased flag on lineItem (docs)
lineItem에 gradesReleased 플래그 추가. (docs)
sub is no longer required for Deep Linking Launch for the User(docs)
User에 대한 Deep Linking 실행에서 sub는 더 이상 필수 아이템이 아님. (docs)
Clarify use of ResourceLink.available.endDateTime (docs)
ResourceLink.available.endDateTime 사용에 대한 명확화. (docs)
Clarify use of target_link_uri in the LtiResourceLinkRequest payload. (docs)
LtiResourceLinkRequest 페이로드에서 target_link_uri 사용에 대한 명확화. (docs)
Minor grammar corrections.
사소한 문법 수정.

D. References

D. 참고 문헌

D.1 Normative references

D.1 규범적 참고 문헌

[ISO8601]

Representation of dates and times. ISO 8601:2004.. International Organization for Standardization (ISO). 2004. ISO 8601:2004. URL: http://www.iso.org/iso/catalogue_detail?csnumber=40874

[LIS-20]

IMS Global Learning Information Services v2.0. L. Feng; W. Lee; C. Smythe. IMS Global Learning Consortium. June 2011. URL: https://www.imsglobal.org/lis/

[LTI-13]

IMS Global Learning Tools Interoperability (LTI)® Core Specification v1.3. C. Vervoort; N. Mills. IMS Global Learning Consortium. April 2019. IMS Final Release. URL: https://www.imsglobal.org/spec/lti/v1p3/

[LTI-AGS-20]

IMS Global Learning Tools Interoperability (LTI)® Assignment and Grade Services. C. Vervoort; E. Preston; M. McKell; J. Rissler. IMS Global Learning Consortium. April 2019. IMS Final Release. URL: https://www.imsglobal.org/spec/lti-ags/v2p0/

[LTI-CERT-13]

IMS Global Learning Tools Interoperability (LTI)® Advantage Conformance Certification Guide. D. Haskins; M. McKell. IMS Global Learning Consortium. April 2019. IMS Final Release. URL: https://www.imsglobal.org/spec/lti/v1p3/cert/

[LTI-DL-10]

IMS Global Learning Tools Interoperability (LTI)® Deep Linking 1.0. S. Vickers. IMS Global Learning Consortium. May 2016. URL: https://www.imsglobal.org/specs/lticiv1p0/specification

[LTI-IMPL-13]

IMS Global Learning Tools Interoperability (LTI)® Advantage Implementation Guide. C. Vervoort; J. Rissler; M. McKell. IMS Global Learning Consortium. April 2019. IMS Final Release. URL: https://www.imsglobal.org/spec/lti/v1p3/impl/

[RFC2119]

Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc2119

[RFC2396]

Uniform Resource Identifiers (URI): Generic Syntax. T. Berners-Lee; R. Fielding; L. Masinter. IETF. August 1998. Draft Standard. URL: https://www.rfc-editor.org/rfc/rfc2396

[RFC2818]

HTTP Over TLS. E. Rescorla. IETF. May 2000. Informational. URL: https://httpwg.org/specs/rfc2818.html

[RFC4122]

A Universally Unique IDentifier (UUID) URN Namespace. P. Leach; M. Mealling; R. Salz. IETF. July 2005. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc4122

[RFC7159]

The JavaScript Object Notation (JSON) Data Interchange Format. T. Bray, Ed.. IETF. March 2014. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc7159

[RFC7231]

Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content. R. Fielding, Ed.; J. Reschke, Ed.. IETF. June 2014. Proposed Standard. URL: https://httpwg.org/specs/rfc7231.html

[RFC7519]

JSON Web Token (JWT). M. Jones; J. Bradley; N. Sakimura. IETF. May 2015. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc7519

[SEC-10]

IMS Global Security Framework v1.0. C. Smythe; C. Vervoort; M. McKell; N. Mills. IMS Global Learning Consortium. April 2019. IMS Final Release. URL: https://www.imsglobal.org/spec/security/v1p0/

E. List of Contributors

E. 기여자 목록

The following individuals contributed to the development of this document:

이 문서 개발에 기여한 사람들은 다음과 같다.

NameOrganizationRole
Paul GrayLearning Objects
Viktor HaagD2L
Dereck HaskinsIMS Global
Martin LenordTurnitin
Karl LloydInstructure
Mark McKellIMS GlobalEditor
Nathan MillsInstructure
Bracken MosbackerLumen Learning
Padraig O'hiceadhaHMH
Marc PhillipsInstructure
Eric PrestonBlackboardEditor
James RisslerIMS GlobalEditor
Charles SeveranceUniversity of Michigan
Lior ShorshiMcGraw-Hill Education
James TseGoogle
Colin SmytheIMS Global
Claude VervoortCengageEditor

한국어 번역

NameOrganizationRole
조용상1EdTech Korea 의장 | 한림대 객원교수| 데이터드리븐, 위키드스톰, 에딘트 수석 아키텍처번역
이정준위키드스톰검토
고동완데이터드리븐번역
김기범데이터드리븐번역
김동근데이터드리븐번역
원동일에딘트검토
이지훈에딘트검토