2012-01-05 96 views
0

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

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

我们将如何从Desire2Learn验证LTI链接以确保其得到妥善保护?

回答

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> 
+0

是的,这是问题。我没有使用密钥/秘密配置工具提供者,但我没有看到将链接连接到工具提供者的方法。 作为测试,我使用了“链接密钥/秘密”。 oauth参数在那时通过。 – 2012-01-06 20:42:31