#applications #learning #launch #standard #request #verify #ensure

lti

Rust 库,用于支持 LTI 工具和应用程序的开发

6 个版本

0.3.1 2021年4月12日
0.3.0 2021年2月8日
0.2.2 2018年1月7日
0.2.0 2017年12月23日
0.1.0 2017年12月23日

#20 in #launch

MIT/Apache

13KB
97 代码行

LTI

关于

这是一个为构建 LTI 应用程序而设计的 Rust 库。LTI 规范了一种将丰富的学习应用程序(通常由第三方服务远程托管并提供)与学习管理系统(LMS)、门户、学习对象存储库或其他本地或云中管理的教育环境集成的方式。有关 LTI 标准的更多信息,请参阅这里

安装

lti = "0.3.0" 添加到您的 Cargo.toml 文件中

用法

LTI 的主要用例是验证 LTI 启动。这确保了发送到您应用程序的请求没有被篡改,并且您可以对给定的 POST 参数进行信任。

验证 LTI 启动的示例

 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
 );

贡献者

此代码的部分,特别是签名 OAuth 请求的代码,受到了 oauth-client-rs 的极大影响或直接借鉴。我希望在收到项目所有者的回复后能够为该项目做出贡献。

依赖关系

~9MB
~280K SLoC