This is a rust library designed to facilitate building LTI applications. LTI prescribes a way to integrate rich learning applications (often remotely hosted and provided through third-party services) with platforms like learning management systems (LMS), portals, learning object repositories or other educational environments managed locally or in the cloud. More info about the LTI standard can be found here
The primary use case of LTI is to verify an lti launch. This ensures that the request to your application has not been tampered with and allows you to trust the given POST parameters.
Example of verifying an lti launch:
extern crate lti; let my_www_form_urlencoded_params = "oauth_consumer_key=asdf..."; let my_consumer_secret = "asdf"; let valid_launch: bool = lti::verify_lti_launch( // HTTP Method (for lti launches this should be a post) "POST", // Full Uri for the lti launch "https://my_domain/lti_launch", // Url encoded request parameters my_www_form_urlencoded_params, // Consumer secret shared between Tool Consumer and Tool Provider my_consumer_secret );
Generates the signature for a given LTI launch.
Verify a given lti launch