从Desire2Learn获取LTI链接
问题描述:
我们目前正在使用D2L 9.1版并在LMS中设置了外部工具提供程序。我相信我们已经正确配置了端点,因为它将我重定向到我期望的端点并包含LTI特定的有效负载。从Desire2Learn获取LTI链接
但是,根据LTI Specification,我们看不到oauth_consumer_key,oauth_nonce,oauth_signature和oauth_timestamp的标准OAUTH有效负载。
我们将如何从Desire2Learn验证LTI链接以确保其得到妥善保护?
答
如果在设置外部学习工具时未设置密钥或秘密字段,则可以发送安全性以外的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>
是的,这是问题。我没有使用密钥/秘密配置工具提供者,但我没有看到将链接连接到工具提供者的方法。 作为测试,我使用了“链接密钥/秘密”。 oauth参数在那时通过。 – 2012-01-06 20:42:31