0

我们目前使用的是 D2L 版本 9.1,并在 LMS 中设置了外部工具提供程序。我相信我们已经正确配置了端点,因为它将我重定向到我期望的端点并包含特定于 LTI 的有效负载。

但是,根据LTI 规范,我们看不到 oauth_consumer_key、oauth_nonce、oauth_signature、oauth_timestamp 的标准 OAUTH 有效负载。

我们将如何验证来自 Desire2Learn 的 LTI 链接以确保它得到适当保护?

4

1 回答 1

0

如果在设置外部学习工具时未设置密钥或机密字段,则可能会发送除安全性之外的 LTI 参数。这将导致缺少誓言字段,但是存在其他字段。

链接或配置的工具提供程序是否有可能缺少密钥或秘密?

您可以使用外部学习工具设置页面中的“预览请求详细信息”来查看会发生什么。

在我的测试中,如果我没有设置预览显示的密钥:

<form method="post" id="LtiRequestForm" name="LtiRequestForm" action="http://test.com" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="launch_presentation_locale" value="EN-CA__">
<input type="hidden" name="lti_message_type" value="basic-lti-launch-request">
<input type="hidden" name="lti_version" value="LTI-1p0">
<input type="hidden" name="resource_link_description" value="">
<input type="hidden" name="resource_link_id" value="testserver">
<input type="hidden" name="resource_link_title" value="Test Title">
<input type="hidden" name="tool_consumer_instance_contact_email" value="">
<input type="hidden" name="tool_consumer_instance_description" value="">
<input type="hidden" name="tool_consumer_instance_guid" value="">
<input type="hidden" name="tool_consumer_instance_name" value="">
<input type="submit" name="basiclti_submit" value="Launch Endpoint with BasicLTI Data">
</form>

但是,当我设置密钥时,预览会显示:

<form method="post" id="LtiRequestForm" name="LtiRequestForm" action="http://test.com" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="launch_presentation_locale" value="EN-CA__">
<input type="hidden" name="lti_message_type" value="basic-lti-launch-request">
<input type="hidden" name="lti_version" value="LTI-1p0">
<input type="hidden" name="oauth_callback" value="about:blank">
<input type="hidden" name="oauth_consumer_key" value="asdf">
<input type="hidden" name="oauth_nonce" value="383531779">
<input type="hidden" name="oauth_signature" value="8G/2Kkkt1ik3Yh6QdNvZd769mug=">
<input type="hidden" name="oauth_signature_method" value="HMAC-SHA1">
<input type="hidden" name="oauth_timestamp" value="1325880893">
<input type="hidden" name="oauth_version" value="1.0">
<input type="hidden" name="resource_link_description" value="">
<input type="hidden" name="resource_link_id" value="testserver">
<input type="hidden" name="resource_link_title" value="Test Title">
<input type="hidden" name="tool_consumer_instance_contact_email" value="">
<input type="hidden" name="tool_consumer_instance_description" value="">
<input type="hidden" name="tool_consumer_instance_guid" value="">
<input type="hidden" name="tool_consumer_instance_name" value="">
<input type="submit" name="basiclti_submit" value="Launch Endpoint with BasicLTI Data">
</form>
于 2012-01-06T20:04:16.630 回答