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
- Parameter: tool_consumer_info_product_family_code
- Value: LMS or System Name
- Use: To identify the LMS
- Example: "tool_consumer_info_product_family_code": "Canvas"
Organization
- Parameter: tool_consumer_instance_guid
- Value: Unique ID
- Use: To identify a unique school/organization. Ideally, this should be a V4 UUID. It is important that this ID never changes.
- Example: "tool_consumer_instance_guid": "9920bcb7-c54c-4a19-bb2e-a351b2b932ad"
- Parameter: tool_consumer_instance_name
- Value: School or Organization Name
- Use: To identify the organization name
- Example: "tool_consumer_instance_name": "University of GoReact"
User
- Parameter: user_id
- Value: Unique ID
- Use: To identify a unique user
- Example: "user_id": "2CQzyJluEk"
- Parameter: lis_person_name_given
- Value: First Name
- Use: To identify the user's first name
- Example: "lis_person_name_given": "John"
- Parameter: lis_person_name_family
- Value: Last Name
- Use: To identify the user's last name
- Example: "lis_person_name_family": "Doe"
- Parameter: lis_person_name_full
- Value: Full Name
- Use: To identify the user's full name
- Example: "lis_person_name_full": "John Doe"
- Parameter: lis_person_contact_email_primary
- Value: User Email
- Use: To identify the user's email
- Example: "lis_person_contact_email_primary": "jdoe@gmail.com"
- Parameter: roles
- Value: User Role
- Use: To identify the user's GoReact role: Presenter, Reviewer, Instructor, Admin. See LIS Roles for naming conventions.
- Example: "roles": "Instructor"
Course
- Parameter: context_id
- Value: Unique ID
- Use: To identify a unique course
- Example: "context_id": "YtS418BKZr"
- Parameter: context_title
- Value: Course Name
- Use: To identify the course name
- Example: "context_title": "Public Speaking 101"
Assignment
- Parameter: resource_link_id
- Value: Unique ID
- Use: To identify a unique assignment
- Example: "resource_link_id": "KoxMcNBkyl"
- Parameter: resource_link_title
- Value: Assignment Name
- Use: To identify the assignment name
- Example: "resource_link_title": "Informative Speech"
Security
- Parameter: oauth_version
- Value: 1.0
- Use: To identify which authentication version is implemented
- Example: "oauth_version": "1.0"
- Parameter: oauth_nonce
- Value: unique ID
- Use: To ensure a secure integration
- Example: "oauth_nonce": "MTU5MDY5NjA4Ng=="
- Parameter: oauth_timestamp
- Value: unix timestamp
- Use: To ensure a secure integration
- Example: "oauth_timestamp": "1590696086"
- Parameter: oauth_consumer_key
- Value: consumer key
- Use: To ensure a secure integration
- Example: "oauth_consumer_key": "d1015a16-c9c1-4539-afc2-0d6b3aebf364"
- Parameter: oauth_signature_method
- Value: HMAC-SHA1 or HMAC-SHA256
- Use: To identify how the signature is generated
- Example: "oauth_signature_method": "HMAC-SHA1"
- Parameter: oauth_signature
- Value: Signature generated by oAuth
- Use: To validate the launch request, parameters, and secret
- Example: "oauth_signature": "Jq105Q7V6R3AZOKDj8zH/zJH1h2="
Other
- Parameter: lti_version
- Value: LTI-1p0
- Use: To identify the LTI version
- Example: "lti_version": "LTI-1p0"
- Parameter: lti_message_type
- Value: basic-lti-launch-request
- Use: To identify a basic launch request
- Example: "lti_message_type": "basic-lti-launch-request"
Optional Parameters
Grade Passback
- Parameter: lis_outcome_service_url
- Value: URL
- Use: To pass grades to the LMS
- Example: "lis_outcome_service_url": "https://lms.com/grades/336a2a"
- Parameter: lis_result_sourcedid
- Value: Hash
- Use: A unique hash across resource_link_id and user_id used to pass grades to the LMS
- Example: "lis_result_sourcedid": "test-sourcedid-123"
Other
- Parameter: launch_presentation_locale
- Value: language variant
- Use: To identify language settings
- Example: "launch_presentation_locale": "en-US"
- Parameter: launch_presentation_return_url
- Value: URL
- Use: To return to the LMS
- Example: "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
- Parameter: custom_goreact_partner_guid
- Value: Unique ID
- Use: To identify GoReact partners (required)
- Example: "custom_goreact_partner_guid": "73816e50-7689-406a-be21-020b4a164a9a"
User Filtering
- Parameter: custom_filter_by_user_id
- Value: Unique ID
- Use: To show only the specified user's videos
- Example: "custom_filter_by_user_id": "2CQzyJluEk"
Activity Copy
- Parameter: custom_resource_link_id_history
- Value: string
- Use: A value referencing a single pre-existing resource_link_id (assignment id)
- Example: "custom_resource_link_id_history": "e7f646f4-de9e-4f3c-a774-cb28de5b7a7b"
- Parameter: custom_context_id_history
- Value: string
- Use: A value referencing a single pre-existing context_id (course id)
- Example: "custom_context_id_history": "ddbc1bc6-c5c1-41da-b7d7-76df954319fe"
- Parameter: custom_resource_link_force_copy
- Value: string
- Use: 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.
- Example: "custom_resource_link_force_copy": "true"
- Parameter: custom_resource_link_instructor_user_id
- Value: string
- Use: 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.
- Example: "custom_resource_link_instructor_user_id": "d5f8f4b2-8361-49e9-9433-ecbaec8c0b38"
Assignment Settings
- Parameter: custom_goreact_total_points_possible
- Value: point value
- Use: To auto-fill points possible.
- Example: "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.