LTI使用Node.js启动身份验证

Oli*_*hee 6 authentication oauth node.js express lti

我使用express.js框架创建了一个简单的"hello-world"Web应用程序.

我希望该应用程序符合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启动身份验证提供类似帮助...

任何帮助表示赞赏.

干杯,奥利

pfr*_*nza 1

当 LTI 工具使用者(即 LMS)启动 LTI 应用程序(工具提供者)时,LTI 工具将被发送 HTTP Post。

为了验证帖子是否合法,您需要通过使用配置 LTI 工具时与工具使用者交换的共享密钥在本地重新计算签名来验证帖子变量“oauth_signature”是否有效。

验证 OAuth 签名的行为可能由 OAuth 库处理。nodejs 已经有了这些,所以请不要重新实现。

您可以在IMS Global 文档中阅读验证启动请求的完整流程