问题标签 [lti]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
247 浏览

desire2learn - 尝试使用 QuickLink 插件向 D2L 模块添加链接时,为什么在 LTI 数据中将 parentNode 设置为 -1?

我在 Desire2Learn 测试环境中创建了一个 QuickLink 远程插件。这会导致指向该插件启动点的链接出现在“内容”选项卡的“添加现有活动”下拉列表中。我在左侧导航中选择了一个模块,所以我希望当我从下拉列表中启动插件时,LTI 请求将包含有关该模块的信息。具体来说,我希望在以下 LTI 参数 custom_links_import_service_url 中的 parentNode 之后看到模块的 ID:

或者在 launch_presentation_return_url 中:

但是无论我选择什么模块,parentNode 总是显示为-1。所以我无法从 LTI 数据中知道 D2L 计划将我的内容插入哪个模块,因此插入失败。

当使用 Course Builder(将插件拖到模块中)做类似的事情时,LTI 数据确实给了我一个指向模块的指针:

这里的父节点是 921。

为什么使用 QuickLink 插件时总是 -1?

0 投票
1 回答
1862 浏览

php - 使用 LTI 将成绩数据发送回 LMS

我创建了一个启用 LTI 的工具,但在将数据发送回 LMS(如 Desire2Learn)时遇到了一些问题。仅根据我的理解,您生成一个包含成绩项目本身的 XML 有效负载,并使用 cURL 通过 POST 将其发送回 LMS。我遇到的问题是我的 $result 变量返回 false,我现在无法弄清楚。这是我的代码:

总结一下,$blti 是一个检查它是否是有效的基本 LTI 启动的实例。如果这是真的,我通过将 LTI 请求变量存储到 SESSION 变量中来初始化 SESSION。接下来在 sendGradeBackToLMS() 函数中,我将包含成绩项目的 XML 数据块发送到 $url 中给出的路径。

任何类型的输入都会有所帮助!谢谢!

0 投票
2 回答
3193 浏览

oauth - How to authenticate moodle LTI launch request

I've created a LTI tool that I'm integrating with moodle. I have created a consumer key and secret but I'm unsure how do I validate (authenticate) the launch request.

Here is the raw request that I'm receiving, so I'm guessing I need to validate the oauth_signature to authenticate the request. I've come across some examples but I need the oauth token too, but it's not returned in the launch request.

I would really appreciate any help!

0 投票
1 回答
62 浏览

desire2learn - 如何遍历模块、链接主题和 LTI 链接

当我们将内容从我们的系统导入 D2L 时,我们会创建一个 LTI 链接、一个给定 LTI 链接的快速链接,以及一个给定来自快速链接的公共 URL 的链接主题。这一切都很好,一个很好的可追溯链和关系。

现在,我需要提取同样的信息。

我可以看到 /orgId/content/root 的 GET 将给我模块。

我可以看到 /orgId/content/modules/moduleId/structure 的 GET 将给出一个包含链接主题和模块的数组(以及递归更多相同)。

但是,我坚持获取链接主题的 LTI 链接。这些是我们的两个关键抽象。

我进一步坚持快速链接为我们做了什么。无法获取快速链接。

现在,换一种方式,我可以看到 /lti/link/orgId 的 GET 将获得课程中的所有 LTI 链接。但是,无法判断它与哪个链接主题相关联。

这种方法中的快速链接同上;我只是不知道这个抽象适合哪里。

请指教。非常感谢。

0 投票
2 回答
3148 浏览

node.js - 使用 Node.js 进行 LTI 启动身份验证

我使用 express.js 框架创建了一个简单的“hello-world”网络应用程序。

我希望该应用程序符合 IMS-LTI 标准,以便 moodle 和其他学习管理系统可以将其作为外部工具启动。

但是,我不明白如何在我的应用程序中验证 LTI 启动(它使用 oauth),我也找不到任何 express.js/node.js 示例来说明它是如何完成的。我看到一个 passport-lti 节点模块存在(https://www.npmjs.org/package/passport-lti),但作为一个节点的菜鸟,我只是不了解稀疏的文档。

我已使用 passport.js 创建本地身份验证 - 使用此视频 ( https://www.youtube.com/watch?v=twav6O53zIQ ),我希望为 LTI 启动身份验证提供类似帮助...

任何帮助表示赞赏。

干杯,奥利

0 投票
1 回答
1396 浏览

asp.net-mvc-5 - ASP.net MVC 的 LTI 库

我有一个用 ASP.NET MVC5 开发的应用程序。我想将它与 Moodle 集成。我不知道这个 PHP 开源。谁能指导我如何实现这一目标?我在某处阅读了有关 MVC 的 LTI 库的信息,但在谷歌搜索中找不到任何内容。

任何人请帮助...

0 投票
1 回答
428 浏览

desire2learn - 小部件 LTI -> API 身份验证

我正在开发一个 LTI 小部件,然后需要对 API 进行身份验证以获取更多信息。

我正在努力弄清楚如何处理 API 用户身份验证,并重定向回保留 LTI 信息。

返回的请求字符串如下所示:

问题是我的 PHP LTI 脚本设置仅在满足以下条件时才加载:

x_a 是用户 ID,x_b 是用户密钥.. x_c 是什么?

任何建议表示赞赏!

0 投票
1 回答
1112 浏览

java - 关于 basicLTI java 实现(basiclti-util-java),¿文档?

我的目标是创建一个简单的“Hello World”作为 LTI 应用程序。为此,我想使用 JSP,所以我寻找 LTI 的 Java 实现来实现它。

找了之后,找到了这个github仓库:https ://github.com/IMSGlobal/basiclti-util-java

他们在哪里创建了一些实现 LTI 1.0 的实用程序。关于它的唯一问题是,我找不到任何关于如何使用它的示例或文档。

我认为我可以了解如何使用它的唯一方法是查看他们创建的测试类,但这只会在方法方面帮助我,让我仍然不知道如何创建“应用程序” (servlet?JSP?有什么特别的方法?应该先用什么?

我对这一切有点迷茫。任何人都可以给我一条建议或开始的方式吗?

先感谢您

(PS:试图将其标记为 LTI,但我没有足够的声誉..)

0 投票
1 回答
1084 浏览

java - 在java中实现LTI工具消费者

我正在做一个电子学习项目,我需要将测验添加到学校平台。

我找到 QTIWorks 来实现这些问题,QTIWorks 包含 LTI 提供程序,所以我尝试通过 Moodle 与它连接,它正在工作。

现在我需要将我的平台作为工具消费者来连接QTIWorks,我的平台是用java编码的,所以我正在寻找一个在java中实现工具消费者的例子,但我找不到。

那么,请问如何在我的平台上实现工具消费者?提前致谢。

0 投票
1 回答
325 浏览

php - D2L 基本 LTI - 我如何提交用户可以看到的成绩数据以外的数据?

我将 Desire2Learn 用作我的 LMS,并且还在创建一个供用户使用的外部学习工具。完成后,他们将提交分数(等级)以及其他一些指标。

我知道将成绩数据提交回 LMS 很简单,但是是否可以将成绩数据以外的数据以用户下次登录时可见的形式发回?

谢谢!