问题标签 [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 回答
260 浏览

jwk - 如何为画布创建 jwk 键?

在画布中,为了让 LTI 应用程序进行身份验证,站点管理员已输入远程站点的 JWK。JWK 的格式定义明确:

首先,我们可以使用像 openssl 这样的工具,创建一个密钥,然后从中生成一个 JWK 吗?目前我们正在使用 jose4j 编写代码来执行此操作,但甚至不清楚这是否有必要。

其次,Canvas 要求可选字段,例如 Kid、alg 和 use。我们猜测use应该是“sig”,我们组成了kid:“1”并猜测了alg:“RS256”

是否有一个可以访问的地方(即不在 IMSGlobal 的付费墙后面)来定义这应该是什么?它是标准的还是特定于 Canvas 的?

0 投票
1 回答
601 浏览

nginx - 有没有办法使用 Nginx 将 SameSite cookie 设置为无?

在 Apache 测试服务器上,我们的供应商能够通过设置

在 .htaccess 中。但是,我们的实时站点正在运行 Nginx,我们无法弄清楚如何将其转换为我们可以在那里配置的东西。

0 投票
1 回答
38 浏览

node.js - 可以使用 litjs 在一台 Node 服务器上处理多个工具吗?

litjs 库使使用 LTI 协议创建工具变得容易。是否可以使用 ltijs 在一个节点实例上创建多个工具提供程序?所有示例都使它看起来像每台服务器只有一个工具。

0 投票
0 回答
37 浏览

javascript - 在 php 中的 iframe 中打印 url

我有在新选项卡中打开 lti 工具的按钮,我想在同一页面的 iframe 中打开它

这是代码

0 投票
0 回答
70 浏览

canvas - 画布路由错误(未初始化的常量 Lti::Ims::NamesAndRolesController::Concerns)

我是画布上的新手。我正在访问画布 API 以获取详细信息。我必须将 LTI 1.3 库与画布连接起来。
我已经通过这个端点成功生成了 access_token login/oauth2/token。但无法获取此端点上的成员详细信息/api/lti/courses/2/names_and_roles

是的,我在授权中传递访问令牌。
这是屏幕截图:

在此处输入图像描述

请建议我解决方案。是否缺少任何设置或其他任何内容?
谢谢!

0 投票
1 回答
34 浏览

security - 如何使用实例给出的相同 access_token 在画布 lms 中保护我的 lti 工具?

我创建了一个外部应用程序并将其集成到画布 lms 中,并且我希望它使用与画布中的 Oauth2 idp 发布的相同的 access_token

0 投票
1 回答
173 浏览

node.js - LTI 1.3 集成 Node.js

我正在开发 LMS 系统,我需要集成 LTI 1.3 合规性第三方课程内容。我对 LTI 1.3 不熟悉,需要与第三方 LMS 开发人员讨论。您能否建议我在与开发人员讨论集成之前应该准备什么?我们的系统是在 node.js 中开发的,我们没有任何 LMS 合规性规范。

0 投票
1 回答
381 浏览

google-chrome - Chrome 中的第三方 Cookie

在最新版本的 Chrome(MacOS 上的版本 90.0.4430.85)上,我发现第三方 cookie 被禁用,即使在我的浏览器设置中我选中了“允许所有 Cookie”。我还尝试将该站点添加到“始终可以使用 cookie 的站点”并选中“在此站点上包含第三方 cookie”,但它似乎仍然不起作用。我正在访问需要第三方 cookie 的 LTI 课程。(课程很旧,所以可能是个问题)

我收到此错误: 错误

铬设置: 镀铬设置 镀铬设置 2

我知道这是因为我的另一台笔记本电脑有早期版本的 Chrome(大约 80)并且 cookie 正在工作(课程加载),但是当我将我的 Chrome 更新到最新版本时它不再工作。

当我在 Safari 中尝试时,我可以通过禁用“防止跨网站跟踪”来允许第三方 cookie,但我在 Chrome 中找不到此类设置。

关于我可能会尝试在最新版本的 Chrome 上使用第三方 cookie 的任何想法?另外,为什么这个网站可以在早期版本的 Chrome 中运行,但不是最新版本?提前致谢。

0 投票
1 回答
409 浏览

python - Flask 使用参数重定向到外部 URL

我想使用烧瓶将用户重定向到带有参数的外部 URL。我最近遇到了这篇关于 redirect 和 url_for 的文章,它只适用于内部 URL,而这篇文章也有关于带参数的外部 URL 的类似问题,但我不能将 HTTP 代码 307 用于我正在开发的 LTI 产品。后一篇文章中的解决方案也没有包括如何传递参数。

我知道它url_for接受参数,但我不能将它用于外部 URL。

我想要类似的东西:

在哪里

有没有办法将 URL 参数作为参数传递而不是使用 f 字符串?谢谢大家。

0 投票
0 回答
38 浏览

php - Building a body signed oauth xml request for LTI Outcomes service

im trying to figure out how to generate oauth_signature using oauth_body_hash as stated in section 4.3 here http://www.imsglobal.org/specs/ltiv1p1/implementation-guide#toc-5
i have to send an API call which has to be authorized using body hash

to generate Authorization value i need the following:
oauth_nonce which i use uniqid('', true) to generate
oauth_timestamp which i use strtotime("now") to generate
oauth_consumer_key which i already used to handle the LTI call
oauth_body_hash which i use base64_encode(sha1($xml, true)) to generate
oauth_signature_method which is HMAC-SHA1
now i just have to generate the oauth_signature

it says in the documentation that : The oauth_body_hash [OBH, 11] is computed using a SHA-1 hash of the body contents and added to the Authorization header. All of the OAuth parameters, HTTP method, and URL are signed like any other OAuth signed request. Other than in producing the body hash value, the actual POST data is not involved in the computation of the oauth_signature.

i dont understand how to generate the oauth_signature using oauth_body_hash

can some one please tell me how can i generate it using simple php without using classes? i found an identical question which can be found here Building a body signed oauth xml request for LTI Outcomes service using pecl oauth
but the solutions there are using classes which i cant do!

this is what i have tried so far but it still wont get authorized: