LTI standard prescribes a way to easily and securely connect tools with platforms like learning management systems (LMS), portals, and learning object repositories in a secure and standard manner, without the need for extensive custom programming. LTI is comprised of a central core and optional services to add optional features and functions. The LTI core establishes a secure connection and confirms the tool’s authenticity while the extensions add features like the exchange of assignment and grade data between GoReact and your LMS gradebook. This guide details required, optional, and custom parameters used to securely connect to the GoReact tool.
Required Parameters
Platform
tool_consumer_info_product_family_code LMS or System Name Used to identify the LMS e.g. "tool_consumer_info_product_family_code": "Canvas"
Organization
tool_consumer_instance_guid Unique ID Used to identify a unique school/organization. Ideally, this should be a V4 UUID. It is important that this ID never changes. e.g. "tool_consumer_instance_guid": "9920bcb7-c54c-4a19-bb2e-a351b2b932ad"
tool_consumer_instance_name School or Organization Name Used to identify the organization name e.g. "tool_consumer_instance_name": "University of GoReact"
User
user_id Unique ID Used to identify a unique user e.g. "user_id": "2CQzyJluEk"
lis_person_name_given First Name Used to identify the user's first name e.g. "lis_person_name_given": "John"
lis_person_name_family Last Name Used to identify the user's last name e.g. "lis_person_name_family": "Doe"
lis_person_name_full Full Name Used to identify the user's full name e.g. "lis_person_name_full": "John Doe"
lis_person_contact_email_primary User Email Used to identify the user's email e.g. "lis_person_contact_email_primary": "jdoe@gmail.com"
roles User Role Used to identify the user's GoReact role: Presenter, Reviewer, Instructor, Admin. See LIS Roles for naming conventions. e.g. "roles": "Instructor"
Course
context_id Unique ID Used to identify a unique course e.g. "context_id": "YtS418BKZr"
context_title Course Name Used to identify the course name e.g. "context_title": "Public Speaking 101"
Assignment
resource_link_id Unique ID Used to identify a unique assignment e.g. "resource_link_id": "KoxMcNBkyl"
resource_link_title Assignment Name Used to identify the assignment name e.g. "resource_link_title": "Informative Speech"
Security
oauth_version 1.0 Used to identify which authentication version is implemented e.g. "oauth_version": "1.0"
oauth_nonce unique ID Used to ensure a secure integration e.g. "oauth_nonce": "MTU5MDY5NjA4Ng=="
oauth_timestamp unix timestamp Used to ensure a secure integration e.g. "oauth_timestamp": "1590696086"
oauth_consumer_key consumer key Used to ensure a secure integration e.g. "oauth_consumer_key": "d1015a16-c9c1-4539-afc2-0d6b3aebf364"
oauth_signature_method HMAC-SHA1 or HMAC-SHA256 Used to identify how the signature is generated e.g. "oauth_signature_method": "HMAC-SHA1"
oauth_signature Signature generated by oAuth Used to validate the launch request, parameters, and secret e.g. "oauth_signature": "Jq105Q7V6R3AZOKDj8zH/zJH1H4="
Other
lti_version LTI-1p0 Used to identify the LTI version e.g. "lti_version": "LTI-1p0"
lti_message_type basic-lti-launch-request Used to identify a basic launch request e.g. "lti_message_type": "basic-lti-launch-request"
Optional Parameters
Grade Passback
lis_outcome_service_url URL Used to pass grades to the LMS e.g. "lis_outcome_service_url": "https://lms.com/grades/336a2a"
lis_result_sourcedid Hash A unique hash across resource_link_id and user_id used to pass grades to the LMS e.g. "lis_result_sourcedid": "test-sourcedid-123"
Other
launch_presentation_locale language variant Used to identify language settings e.g. "launch_presentation_locale": "en-US"
launch_presentation_return_url URL Used to return to the LMS e.g. "launch_presentation_return_url": "https://lms.com/return"
Other Notes
Please note the following:
- In order to use GoReact in an iframe, the iframe must explicitly allow camera and microphone access i.e. <iframe allow="camera *; microphone *">
- The error message "GoReact is missing setup information," is shown if any of the required parameters are missing. If you expand the "Show Details" section, then you can view which parameter(s) are missing.
- The error message "the key/secret isn't correct," is shown if the key or secret is incorrect, or if the payload is signed incorrectly.