saLTIre

saLTIre is a testing system for LTI®. It is
designed to allow users to inspect the communications which occur between an LTI Tool Consumer and an LTI Tool Provider. The test systems can be accessed via the
buttons above; the expected use cases are:

as an independent system (where the Test Tool Consumer system connects to the Test Tool Provider system),

use the Test Tool Consumer system to connect to another Tool Provider, or

connect to the Test Tool Provider system from another LTI Tool Consumer.

Note that the tools are designed to allow both valid and invalid communications to be sent and received, hence they do not ensure that
only valid (compliant with the LTI specification) messages are composed. This allows the system to be used for testing that other systems
properly handle invalid connections, not just valid ones.

Instructions

By default all options are enabled (check the Options form to turn on additional features).

Select the Tool Provider page and check the credentials.

Click on the Connect button to send a message to the Tool Provider.

Top Navigation Bar

Save

Click the button to save all changes to the current session, or use the drop-down menu:

Reload without saving

Used to refresh the system, clearing any changes made since the last save.

Save again

Used to update the system when the Save button is disabled (useful to refresh the current connection message in case it times out).

Clear all non-required parameters

Each message parameter is tagged as being either Required, Recommended
or Optional; this option will remove the values from all the recommended and optional parameters.

Start new session

This will clear the system and reset all values to their defaults.

View

Use this menu to display one of the following:

Last service message (last service request received and the response returned)

Gradebook (all the current line items and outcomes)

Tool settings (any tool settings created by the Tool Provider)

Event store (a sample store for Caliper Analytics® event data)

Options

Open the Options form (see below).

Note that some options within the system will be disabled when settings have been changed - use the Save to resolve this.

Options Form

Display optional features?

Select to show any feature which is flagged as optional; e.g., those parameters which are neither required nor recommended

Display unsupported features (but disabled)?

Select to show any feature which is defined within the LTI specifications but is not supported by this system; the feature will be displayed as disabled so that it cannot be selected

Open connections in a new window?

When selected connections to the Tool Provider will be opened in a new window rather than a page within the same window

Include empty parameters in message?

By default any parameter which does not have a value will be omitted from a message; select to include them

Only support outcomes for learners?

When selected only users with a Learner role will be enabled for the return of outcomes

Enable unpublished LTI features?

This option enables features which are still under development by IMS and subject to change

Enable experimental features?

These are extensions which are not expected to become part of the LTI specification at this time

Left Navigation Menu

Use this menu to change the page which is displayed.

Tool Consumer

Details of the Tool Consumer including the security profiles, services and capabilities it supports (see below)

Context/Resource

Details of the context and resource link from which the message is initiated

User

Details of the user making the connection

Message

The type of message being sent and other related parameters

Tool Provider

The URL and credentials for the Tool Provider to which messages are to be sent

Tool Proxy

When a Tool Proxy is in place, this page replaces the Tool Consumer page and shows the agreed credentials

Connection

When not opened in a new window, messages sent to a Tool Provider will be displayed on this page

Parameters

Each parameter supported by the LTI specification has an input box containing its current value.

The associated checkbox
can be used to disable the parameter to stop it from being sent in the message.

Some parameters have a menu
which can be used to select a value, but values may always be entered manually.

Security Profiles

A checkbox is provided on the Tool Consumer page for each algorithm which is to be available.

The selected algorithms
are available for signing the current message on the Message page.

Services

A checkbox is provided on the Tool Consumer page for each service which is to be available. A settings
panel is displayed for each selected service.

Capabilities

Each supported capability can be enabled on the Tool Consumer page. Capabilities related to
services are not included here, but are automatically assumed when a service is selected.

Capabilities are divided into
categories based on their type or prefix. Clicking on the title expands and hides the capabilities for the category.

Connecting to a Tool Provider

Clicking on the Connect button on the Tool Provider page will
cause a message of the type selected on the Message page to be sent to the Tool Provider using
URL and credentials supplied on the same page. You can preview the message or override where the connection is opened via the
drop-down menu.

Only those parameters on each page which have been checked will be included
in the message. Service parameters for any selected service will automatically be included as well.

Custom parameter substitution
variables will be replaced where an appropriate value is available (for example, $User.username).

Registering with a Tool Provider (LTI 2)

Clicking on the Register button on the Tool Provider page will
cause a ToolProxyRegistration message to be sent to the Tool Provider. The Tool Consumer Profile
will include those services and capabilities which are selected on the Tool Consumer page.

When a
Tool Proxy is accepted, the Tool Provider page is replaced with a copy of the Tool Proxy and a
summary of the agreed credentials. The services and capabilites on the Tool Consumer will be
selected based on the services in the security contract and the enabled capabilities for a resource. Any parameters required
for the message type will always be selected. All others are signified by
a checkbox with a shaded background - the system allows the choices to be changed but the checkbox presentation will identify
which formed part of the agreed Tool Proxy.

A resource defined in the Tool Proxy should be selected from the menu provided on the Tool Proxy
page. A message supported by the resource should be selected on the Message page.

A Tool Proxy can be cancelled by clicking on the Unregister
button.

Troubleshooting Tips

If your connection is not validated by the Tool Provider:

check that you have entered the correct key and secret on the
Tool Provider page;

use the Save option to refresh the message in case the timestamp has expired.

Try using the Start new session option from the Save menu
to reset the data; you may have been impacted by system updates made during your session.

If you're not seeing all the parameters you expect, check that you have the Display optional features? option selected.

Use the Service menu to send requests to the services made available by the Tool Consumer.

The last request made for the currently selected service can be viewed via the View menu.

Alternatively, the Test Tool Provider can be opened directly in a browser and the Tool Consumer credentials and service endpoints
entered manually.

Top Navigation Bar

Use this menu to change the page which is displayed.

Message

A summary the message received (it is only displayed when the Test Tool Provider is opened via an HTTP POST message)

Tool Consumer

Details of the Tool Consumer credentials, including its profile if a request has been made for a copy

Select Content

This tab is available when the Test Tool Provider is opened by a ContentItemSelectionRequest message. It allows
pre-defined content-items to be selected for return to the Tool Consumer, or for a bespoke item to be created.

Service

A drop-down menu of the services supported by the Test Tool Provider; any not made available by the Tool Consumer will be disabled.
Select a service to send requests to the Tool Consumer.

View

Display the last service message (request and response) for the currently selected service

Save

Click the button to save all changes to the current session, or use the drop-down menu:

Reload without saving

Used to refresh the system, clearing any changes made since the last save.

Save again

Used to update the system when the Save button is disabled.

Refresh session

This will refresh the system to the original values as when the Test Tool Provider was opened.

Clear session

This will clear the system and reset all values to their defaults as if the Test Tool Provider had been opened directly (not via a Tool Consumer).

Message Tab

This tab summarises the message received which opened the system.

Summary

This section identifies the message type, security profile used and whether the signature was verified. If the Tool
Consumer provided a return URL, links are also displayed which allow this link to be followed with all combinations of
return message and log entry.

Services Available

A list of services supported by the Test Tool Consumer is displayed with those made available in the message received from
the Tool Consumer marked with a tick; all others are marked with a cross. All available services can be accessed directly by
clicking on their name.

Message Parameters

This section lists the LTI parameters passed in the body of the message received from the Tool Consumer. (If the parameters
were passed within a JWT, a separate section will display the actual JWT received.)

Tool Consumer Tab

This tab displays the credentials and security profile used for connections with the Tool Consumer.
These values are used when sending service requests to the Tool Consumer. Changing them allows
invalid requests to be tested.

If a Tool Consumer Profile has been obtained it will be also be displayed on this tab.

Select Content Tab

This tab is displayed for ContentItemSelectionRequest messages. You can use it to select sample
content-item(s) to be returned to the Tool Consumer, or to create a bespoke item. Messages to be returned with the items can
also be added.

Service Menu

This menu lists all the services supported by the Test Tool Provider; those which have not been made
available by the Tool Consumer will be disabled. Selecting a service from the menu will display the
settings relevant to its use, including the endpoint(s). The settings page can be used to send requests
to the Tool Consumer; use the View menu (see below) to inspect the request made and response received.

View Menu

This menu provides access to the last message sent to an endpoint for the currently selected service. A tab is displayed
for the each of the request and response elements.

Troubleshooting Tips

If the message received is not validated by the Test Tool Provider:

check that the shared secret is correct on the
Tool Consumer tab;

check the time on your Tool Consumer server is accurate;

try using the Clear session option from the Save menu
to reset the data; and have the Tool Consumer send its message again.

When trying to open the Test Tool Provider within an iframe and the page is blank, try opening it in a new browser window/tab to
see if that works. If it does check that both the Tool Consumer and the Tool Provider are using the same schema (e.g. both http or both https)
and check the security settings in the browser for cross-origin resource sharing (CORS).

If your service request is not validated by the Tool Provider:

check the response received (via the View menu) for any error messages returned;

check the credentials and service profile are correctly set on the Tool Consumer tab;

when using a JWT-based security profile ensure that you have first requested an access token.