LTI
The go deploy Lab Delivery System is able to accept LTI requests to start labs for students, enabling seamless lab delivery to students via your company's own LMS. The LTI version go deploy currently implements provides oAuth 1.0 authentication.
Our Start Lab endpoint requires a few parameters including the student's user ID, email, name and a module ID.
go deploy will provide you with an LTI client ID, secret and, initially, a demo module that you can use to begin integration.
Once your system is integrated, go deploy will supply you with details on how to access the list of courses and modules.

LTI Request

The LTI request is built in two stages:
  1. 1.
    Build the OAuth signature
  2. 2.
    Build a form that is submitted by POST request
This form can then be placed into the webpage of your LMS system and submitted to go deploy to start a lab.

Generating the OAuth signature

Three fields are required to build the oauth signature:
  1. 1.
    oauth_nonce - a field with a sufficiently long random string, unique to each request
  2. 2.
    oauth_timestamp - Unit Timestamp (UTC)
  3. 3.
    oauth_consumer_key - A GUID string that identifies your system as a client
These fields will form part of the form submitted to go deploy's Lab Delivery System
These fields should be passed through your LTI sugnature generation function as normal and the resulting signature entered into the form described in the next section.

Additional fields

These additional fields are required to start a lab with go deploy:
  1. 1.
    oauth_consumer_key - A GUID string that identifies your system as a client
  2. 2.
    lis_person_contact_email_primary - The email address of the student
  3. 3.
    user_id - The ID of the student user in your system
  4. 4.
    custom_module_id - The GUID ID for the module the student wishes to launch
  5. 5.
    lis_person_name_given - The forename of the student
  6. 6.
    lis_person_name_family - The surname of the student
  7. 7.
    oauth_signature - The signature generated in the previous section
These fields are not used to calculate the signature for authentication.

Building the form

Build the form as follows, populating it with the required values:
1
<form action="https://lms.godeploy.it/LTI/LTIStudentLaunch" method="post">
2
<!-- Additional Fields -->
3
<input type="hidden" name="oauth_consumer_key" value="00000000-0000-0000-0000-000000000000">
4
<input type="hidden" name="lis_person_contact_email_primary" value="[email protected]">
5
<input type="hidden" name="user_id" value="123456">
6
<input type="hidden" name="custom_module_id" value="00000000-0000-0000-0000-000000000000">
7
<input type="hidden" name="lis_person_name_given" value="Student">
8
<input type="hidden" name="lis_person_name_family" value="Smith">
9
<input type="hidden" name="oauth_signature" value="w6l76xQgCYwlBrJYQmxNgg1fg34=">
10
<!-- LTI Auth fields -->
11
<input type="hidden" name="oauth_nonce" value="PF5uQvCEQN3YCmaKhjbMfKfsZx2pwj0y">
12
<input type="hidden" name="oauth_timestamp" value="1593713243">
13
<!-- Submit button -->
14
<input type="submit" value="Launch Lab">
15
</form>
Copied!

Field Specification

Field Name
Type
Description
oauth_consumer_key
GUID
The LTI Client ID provided by go deploy
user_id
String (200 characters)
ID of the student's user in your system
custom_module_id
GUID
Module ID that the client wishes to launch
lis_person_contact_email_primary
String (256 Characters)
Email address of the student
lis_person_name_given
String (80 Characters)
Student's forename
lis_person_name_family
String (80 Characters)
Student's surname
oauth_signature
string
The LTI/OAuth signature generated by your system
oauth_nonce
String
A sufficiently long random string, unique to each request
oauth_timestamp
DateTime
Unix Timestamp (UTC)

Troubleshooting

There are various ways in which the loading of labs for student or instructor can fail, these are listed here:
Error: Invalid parameters – The wrong or no parameters passed to Go Deploy. Reason: The form doesn’t contain the correct parameters.
Error: Invalid parameters – Timestamp out of date. Reason: The timestamp used is out of date or it’s an invalid date time.
Error: Client not found Reason: You have not been setup in the Go Deploy system.
Error: oAuth LTI Student Signature doesn't match Reason: The oauth_signature supplied by the client doesn’t match the one generated by Go Deploy.
Error: Cannot create User Reason: Go Deploy have been unable to create the student / instructor. Please check that the information sent is formatted correctly and that the email address is provided in the correct format
Error: You are not authorised on this course Reason: Your organisation does not have permission to run this course.
Last modified 1yr ago