API Reference Ltix v#0.2.0

Copy Markdown View Source

Modules

Ltix handles the LTI 1.3 OIDC launch flow for tool applications. It is built around 4 main components.

Behaviour for LTI Advantage service modules.

Put content items into a signed response JWT for the platform.

Protocol for serializing content items in Deep Linking responses.

A file content item for Deep Linking responses.

An HTML fragment content item for Deep Linking responses.

An image content item for Deep Linking responses.

An LTI resource link content item for Deep Linking responses.

A URL link content item for Deep Linking responses.

Signed JWT and return URL from a Deep Linking response.

Protocol for converting your deployment struct to an Ltix.Deployment.

A specific installation of a tool on a platform, identified by an immutable deployment_id assigned by the platform.

Structured error types for LTI 1.3 validation.

Error class for spec-violating input data.

An eager collection fetch exceeded its safety limit.

Content item type not in the platform's accept_types list.

Multiple content items returned when the platform only accepts one.

Attempted to delete the platform-coupled line item without force: true.

Unknown deployment_id [Core §3.1.3; Core §5.3.3].

Claim present but wrong value or format.

Wrong endpoint struct passed to an Advantage service.

A field given to a constructor, such as Ltix.Registration.new/1, is unknown, missing, or has an invalid value.

Malformed JSON or JWT structure [Cert §6.1.1].

build_response called on a non-deep-linking launch context.

An option passed to an Ltix function is unknown, missing, or has an invalid value.

Content item includes a line_item but the platform does not accept line items.

Service returned an unparseable response body.

File content item media type not matched by the platform's accept_media_types.

Missing required LTI claim.

Missing OIDC login parameter [Sec §5.1.1.1].

Content item presentation not in the platform's accept_presentation_document_targets list.

Unknown issuer/client_id combination [Sec §5.1.1.1].

Client lacks the required OAuth scope.

An Advantage service or token request cannot be made because an endpoint it needs is missing or unsupported.

OAuth token request failed.

Error class for security framework violations.

Platform denied access to a service request or key set fetch.

OAuth access token has expired.

JWT alg is not RS256 [Sec §5.1.3 step 6; Sec §6.1].

Tool's client_id not the only JWT aud, or azp present and not client_id [Sec §5.1.3 step 3; Sec §5.1.3 step 5].

Platform returned an authentication error response [Sec §5.1.1.5].

JWT iss doesn't match registration [Sec §5.1.3 step 2].

No kid in JWT header [Cert §6.1.1].

kid not found in JWKS [Cert §6.1.1].

A platform request connected to a local or loopback address that isn't allowed.

No nonce claim in JWT [Sec §5.1.3 step 9].

Nonce not issued by this tool [Sec §5.1.3 step 9].

Nonce previously seen — replay attack [Sec §5.1.3 step 9].

JWT signature verification failed [Sec §5.1.3 step 1].

CSRF state doesn't match [Sec §7.3.1].

Token exp claim is in the past, or iat claim is older than the maximum token age [Sec §5.1.3 steps 7-8].

Token iat or nbf claim is in the future [Sec §5.1.3 step 8; RFC 7519 §4.1.5].

Catch-all error class for unexpected errors.

The key set a launch needs is not running.

A platform endpoint returned an unsafe or invalid redirect.

A storage adapter callback failed or returned an unexpected value.

HTTP or connection error from a platform endpoint.

Generic unexpected error.

Manage line items, post scores, and read results from a platform's gradebook using the Assignment and Grade Services (AGS) v2.0.

A line item (gradebook column) in the platform's gradebook.

A result record from the platform's gradebook.

A score to post to the platform's gradebook.

RSA keys for LTI tool authentication.

Platform public keys for verifying ID Token signatures.

Decodes and validates LTI ID Tokens (JWTs).

Structured representation of claims from an LTI launch JWT.

Assignment and Grade Services (AGS) endpoint claim.

The context (e.g. course or section) in which the launch occurs.

Platform preferences for a Deep Linking content selection.

SIS (Student Information System) integration identifiers from LIS.

How the platform expects the tool to be presented.

Memberships service endpoint claim.

Defines a behavior for parsing a launch claim's raw value.

A placement of an LTI resource link within a context.

A parsed LTI role with type, name, and optional sub-role.

LIS (Learning Information Services) role vocabulary parser.

Defines a behaviour for parsing role URIs into %Role{} structs.

Information about the platform instance that initiated the launch.

Validated output of a successful LTI launch.

Query context membership (roster) from a platform using the Names and Roles Provisioning Service (NRPS) v2.0.

A single member in a roster response from the memberships service.

A roster response from the memberships service.

OAuth 2.0 client credentials authentication for LTI Advantage services.

OAuth 2.0 access token response.

Authenticated OAuth session for LTI Advantage service calls.

Lazy paginated fetching for LTI Advantage endpoints.

Protocol for converting your registration struct to an Ltix.Registration.

Everything the tool stores about a registered platform, established out-of-band before any launch occurs.

Defines callbacks for looking up registrations, deployments, and managing nonces.

Helpers for testing applications that use Ltix.

A simulated LTI platform for testing.

In-memory StorageAdapter for tests.