2012-01-05 97 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