我正在寻找任何代码示例,以便在NodeJS中使用LTI将外部工具集成到LMS,但似乎很难找到工作示例。 我已经通过IMS Global提供的样本,但很难理解。任何知道如何使用LTI授权应用程序的人请分享您的代码。
答案 0 :(得分:1)
Github搜索产生了这些示例节点LTI应用程序 -
希望其中一个对你有用。
答案 1 :(得分:1)
我将CoffeeScript中的omsmith代码移植到普通JavaScript并将其放在Packagist上:
答案 2 :(得分:0)
这有点晚了,但可能会帮助别人。
我已经创建了Lti 1.3优势协议的nodejs实现,这使得设置lti提供程序非常容易。
这是用法的一个简单示例:
const path = require('path')
// Require Provider
const Lti = require('ltijs').Provider
// Configure provider
const lti = new Lti('EXAMPLEKEY',
{ url: 'mongodb://localhost/database',
connection:{ user:'user',
pass: 'pass'}
},
{ staticPath: path.join(__dirname, '/views/') })
let setup = async () => {
// Configure main routes
lti.appUrl('/')
lti.loginUrl('/login')
// Deploy and open connection to the database
await lti.deploy()
// Register platform
let plat = await lti.registerPlatform(
'http://platform/url',
'Platform Name', 'ClientIdThePlatformCreatedForYourApp',
'http://platform/AuthorizationUrl',
'http://platform/AccessTokenUrl',
{ method: 'JWK_SET', key: 'http://platform/keyset' }
)
// Set connection callback
lti.onConnect((connection, request, response) => {
// Call redirect function
lti.redirect(response, '/main')
})
// Set route accounting for issuer context
lti.app.get('/:iss/main', (req, res) => {
// Id token
console.log(res.locals.token)
res.send('It\'s alive!')
})
}
setup()