gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 22:34:02 31 4
gpt4 key购买 nike

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

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

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

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

感谢任何帮助。

干杯,奥利

最佳答案

只是想提一下,不久前我最终做了一个这样的工作示例。

https://github.com/ripples/Present/blob/master/server/app.js#L35

passport.use('lti-strategy', new CustomStrategy(
function(req, callback) {
var val = (req.body) ? req.body : req.user
try{
var provider = new lti.Provider(val , process.env.LTI_SECRET)
if(req.user){
callback(null, val)
}
else{
provider.valid_request(req, function(err, isValid) {
if(err){
console.log("LTI Error", err, isValid)
}
callback(err, val)
});
}
}
catch(err){
console.log("Authenication error", err)
callback(err, null)
}
}
))

我最终采用了自定义护照策略并使用另一个库进行身份验证。

https://github.com/omsmith/ims-lti

就是那个new lti.Provider位,关键是它接受LTI post req对象来做auth。

关于node.js - LTI 使用 Node.js 启动身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27319576/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com