GoReact partners can integrate with GoReact through Learning Tools Interoperability (LTI) v1.1 specification. With this integration, you don’t ever have to send users to another platform or tool. Instead, you can embed GoReact right into your course materials as a streamlined and seamless teaching and learning experience.
We’re always pushing the interoperability envelope to include everything from a simple user launch to custom GoReact learning experiences, all based on open standards.
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.
Basic Launch
The most basic launch of GoReact is a POST request to the launch URL https://lti.goreact.com/lti/v1 with the parameters described below, properly signed using OAuth. The most common launch approach will be for the tool consumer to emit a form to the browser and then include code to automatically submit the form to the launch URL.
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"
Advanced Launch
In addition to the standardized LTI parameters, you may include the following custom parameters to further customize your GoReact experience.
Custom Parameters
Partners
custom_goreact_partner_guid Unique ID Used to identify GoReact partners (required) e.g. "custom_goreact_partner_guid": "73816e50-7689-406a-be21-020b4a164a9a"
User Filtering
custom_filter_by_user_id Unique ID Used to show only the specified user's videos e.g. "custom_filter_by_user_id": "2CQzyJluEk"
Assignment Copy (Same Organization)
custom_resource_link_id_history string A value referencing a single pre-existing resource_link_id (assignment id) e.g. "custom_resource_link_id_history": "e7f646f4-de9e-4f3c-a774-cb28de5b7a7b"
custom_context_id_history string A value referencing a single pre-existing context_id (course id) e.g. "custom_context_id_history": "ddbc1bc6-c5c1-41da-b7d7-76df954319fe"
custom_resource_link_force_copy string A boolean value of true/false. By default, assignment copy is a one-time operation per assignment. This parameter can be used in conjunction with the history parameters to perform an ongoing copy per subsequent launch request. e.g. "custom_resource_link_force_copy": "true"
custom_resource_link_instructor_user_id string The user_id of the course instructor. This allows students to launch first into a course/assignment without requiring the aid of the instructor to set up the assignment settings first. This must be used in conjunction with the history parameters. e.g. "custom_resource_link_instructor_user_id": "d5f8f4b2-8361-49e9-9433-ecbaec8c0b38"
Assignment Settings
custom_goreact_total_points_possible point value Used to auto-fill points possible. e.g. "custom_goreact_total_points_possible": "25"
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.