问题标签 [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 投票
1 回答
273 浏览

java - QTIWorks LTI 请求参数为空

我正在尝试在我们的教育平台中实现 LTI,以与 Java 中的 QTIWoks 连接。

我有一个简单的工具使用者,它生成以下 HTML 表单:

然后它从 qtiworks 调用 dominlaunch

问题是decodedLtiLaunch.isError()返回 true 并且我的请求没有执行。

我调试了问题,发现HttpServletRequest requestparameterMap中没有项

但是,当请求来自moodle时它运行良好(请求的parameterMap具有传递的参数)

请问我该如何解决?

提前致谢。

0 投票
1 回答
126 浏览

meteor - Meteor LTI Auth,从 Iron Router 服务器路由到客户端的数据?

我正在研究 LTI 工具提供程序,我已经实现了一个LTI auth 包,并且能够成功地让两个(..one?)有腿的 OAuth 工作,也就是匹配签名,我们都可以重定向,除了一件重要的事情。

我希望能够做的是

  • 如果此用户不存在,请创建并登录
  • 如果用户存在,请登录我们的用户

现在,一旦我重定向到客户端路由,我就无法真正确定我的用户。

LTI 消费者指向我的 Iron Router 服务器路由,如下所示:

有没有我可以用来简单地工作的软件包?我可以使用accounts-base之类的东西吗?我需要实现自己的逻辑吗?

任何帮助或方向表示赞赏。

干杯。

0 投票
0 回答
75 浏览

php - D2L 从 URL 捕获 LTI 作为参数

我正在尝试将orgUnitId课程从小部件发送D2L到网页(存储在同一台服务器上)。网页通过<iframe>.

例子:

如何orgunitcode从 URL 中捕获(如存储在服务器上的脚本中的参数)?

提前致谢

0 投票
1 回答
402 浏览

openedx - OpenEDX:将其用作 LTI 提供程序时出现错误 400

我想在我的 Web 应用程序中加入一些 OpenEdx 课程。为此,我决定使用 OpenEDX 支持的 LTI 协议(在上一个版本中作为消费者和提供者)。

我的应用程序,作为 LTI 消费者,已经成功地集成了 moodle LTI 提供者系统中的一些内容。

当我尝试使用相同的代码时,一切正常,直到我通过 post 发送所有参数,openEDX 向我的 post 请求响应错误 400。

为了进行测试,我使用的是全栈安装(Dogwood 版本),我根据以下内容对其进行了一些修改以启用 LTI 提供程序功能:http ://edx.readthedocs.org/projects/edx-installing-configuring-and-running /en/latest/configuration/lti/enable_lti.html

然后我按照文档在管理界面中配置 LTI 提供程序,以及官方文档中的另一个页面来构建我的 LTI 调用 URL,如下所示:http: //192.168.33.10/lti_provider/courses/course-v1 :edX+DemoX+ Demo_Course/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0270f6de40fc

在我的帖子请求中,我发送了这些参数:

  • 用户身份
  • lis_person_name_given
  • lis_person_name_family
  • lis_person_name_full
  • lis_person_contact_email_primary
  • resource_link_id
  • tool_consumer_instance_guid
  • 端点网址
  • oauth_version
  • oauth_consumer_key
  • oauth_signature
  • oauth_signature_method
  • oauth_timestamp
  • oauth_nonce

我已经验证,所有这些参数都正确发送。

你知道错误可能来自哪里吗?

非常感谢!

[编辑:]我终于找到了问题所在。我错过了一些仅在 OpenEDX 案例中强制使用的 LTI 中推荐的参数。如果它错过了一个mandorty参数,打开edx返回一个错误400。

在 /lms/djangoapps/lti_provider/views.py 上:

0 投票
2 回答
277 浏览

visual-studio-2013 - 集成 LMS 的 LTI 标准

我正在将我的应用程序与 Moodle 集成到 asp.net MVC 中。但它需要 LMS 标准,以便将来与任何其他 LMS 集成。

我对这个新术语“LTI”完全空白。

0 投票
0 回答
156 浏览

c# - Moodle 图书馆成绩发布

我也在 Moodle 论坛上发布了这个问题。

我正在尝试使用 LtiLibrary 并将成绩发布给 Moodle 成绩簿中 LTI 项目下的所有学生。

目前,我只能为点击 LTI 的学生发布成绩,如下所示,

问题是我如何为 id 为 22 的学生(例如)发布成绩,我的 id 是 35,我正在尝试替换它,就像这样......但它不允许我发布成绩。有任何想法吗?我的角色是老师。

0 投票
0 回答
276 浏览

integration - 有没有办法将 Google Hangouts 与 Canvas LMS 集成?

具体来说,从 Instructure Canvas 的群组页面之一,如会议或页面或讨论,我希望能够通过 Google Hangouts 进行身份验证并连接到 Google Hangouts(使用自定义 Javascript 代码),从而产生一个新的 Google Hangouts 视频窗口。

  1. 设想的工作流程是这样的: 1.1。学生使用她的 Canvas ID 登录 Canvas LMS。

        1.2. 学生加入了她现有的小组之一。

        1.3. 学生进入诸如“会议”或“页面”或“讨论”之类的模块。

        1.4. 学生看到一个 Javascript 驱动的按钮,上面写着“加入环聊”。

        1.5。这将启动 Google OAuth2 身份验证工作流程。

        1.6. 学生使用她的个人 Google ID 向 Google 进行身份验证。

        1.7. 成功验证后,学生将转到自定义 Google Hangouts 视频会议正在运行的自定义 URL。    

  2. 我需要设置 OAuth2 身份验证/与 Canvas LMS 的集成吗?还是已经包含在 Canvas 中?我知道可能已经完成了这样的设置来支持与 Google Drive 的集成。在小组的“协作”模块中,我已经看到了“Google Docs”集成。如果是这种情况,我是否需要重新实现 Google OAuth2 连接以与 Google Hangouts 集成,还是可以重复使用已有的?    
  3. 我正在开发一个自定义的 Google Hangouts 应用程序,并且我已经使用此处提供的特定 Javascript 代码通过一个按钮将 Moodle 与我的自定义 Google Hangouts 集成:https ://github.com/getsmarter/moodle-rhythm_hangout/blob/master /模块.js。我需要在画布中使用类似的代码来尝试启动/加入 Google Hangout。是否可以将此类功能(实际上是“加入环聊”)按钮合并到 Canvas 组的会议/页面/讨论模块中?  
  4. 我的用户(学生)将使用他们自己的个人 Google ID 登录、验证并使用我的自定义 Google Hangouts 应用程序。我怀疑同样的事情也适用于带有 Google Docs 的 Collaborations 模块——用户可以使用他们的个人 Google ID。Canvas 是否有任何地方存储用户的 Google ID 和他们的 Canvas 登录 ID 之间的映射/连接?    
  5. 我的自定义 Google Hangouts 应用需要 Google ID、画布 ID、学生课程 (ID) 和学生小组 (ID) 之间的“映射”或连接。我认为这在 Canvas 中不存在并且需要自定义开发?或者有没有办法将此信息存储到 Google 表格中,例如,从 Canvas 中?

  6. LTI 是唯一的方法吗?还是有其他方法?

0 投票
1 回答
129 浏览

desire2learn - Desire2Learn - 无法从 Valence API 检索 LTI 帖子中作为“user_id”值传递的内容

我希望有人能给我一些见解,基本上我希望找到一种方法来通过 Valence API 为给定用户返回这个值,或者根据 LTI 帖子中传递的用户主键计算这个值.

在 LTI POST 中作为用户标识符发送的内容:user_id=815dc366-c443-4023-a13c-9c43e9edce52_239393

Valence API 作为用户标识符返回的内容:Enrollment.ClasslistUser.Identifier=228588

0 投票
2 回答
517 浏览

authentication - 通过 Moodle 凭据和 LTI 登录应用程序 - 提供者还是消费者?

我有一个简单的问题,我无法用有关 moodle 和 LTI 的资源来解决。

我希望我的用户使用 moodle 凭据登录他们的应用程序(通常使用例如“通过 facebook 登录”)——我的应用程序是消费者还是提供者?

我首先认为该应用程序是提供者,但有些观点让我质疑:

  1. 不,我不想从 moodle 中启动应用程序。
  2. 不,我也不想将我的应用内容嵌入到 moodle 中。
  3. 我只希望在moodle中注册的用户使用他们的moodle用户名和密码登录到应用程序

我在 LTI 提供者上找到的所有内容都假设与第 1 点和第 2 点相反。

但是,我还发现 moodle 本身可以是提供者。它已被证明嵌入在外部应用程序中。但据我了解,消费者负责验证登录(与第 3 点相反)。

我是否遗漏了一些东西,这使得在这里很难看到解决方案?

0 投票
1 回答
1243 浏览

node.js - 为 Moodle 创建 LTI 提供程序

我正在尝试为 Moodle 创建一个 LTI 提供程序。我需要 Moodle 提供的东西 - 课程名称、学生和教师,以及启用单点登录(获取会话、令牌、cookie...)

我做了一项研究,发现 Moodle 3 支持 LTI v2,这基本上是为什么要通过 REST API 与 Moodle 进行通信,但没有看到可选端点或代码示例的 API 引用(寻找 nodejs,但其他语言将受到欢迎)

有没有人有这方面的经验?谢谢!