我正在尝试从canvas lms启动LTI 1.3工具。根据官方文档,在发送步骤2(身份验证请求)中指定的参数后,我得到错误login_required
和错误描述Must have an active user session
。当我在公共课程上尝试时,这种情况不会发生。我检查了源代码,发现错误发生在这里。
这是由于缺少用户会话造成的。出于某种原因,@current_user
对我来说是空的。但是,我登录并试图访问该工具。我不知道为什么会发生这个错误。我已经研究了一个星期了。如果有人能解释一下就太好了。
我在画布开发人员社区发现了一个类似的查询,但没有得到回答。
发生这种情况的原因有很多。就我个人而言,我做的是服务器到服务器的调用,而不是简单的重定向。因此canvas无法验证用户会话。我改变了,这对我很有效。我把这个贴出来,以防有人偶然发现这个问题。这在文档中有提到,我之前错过了。