我正在构建一个涉及Moodle Service(版本3.6)用法的laravel Web应用程序。我已经使用plugin自动登录了。

问题是,单击外部应用程序上的“学习课程”按钮将自动登录Moodle(通过插件),但不会将用户重定向到该按钮中描述的课程。

有这样做的机制吗?

最佳答案

您正在使用的插件已经可以执行以下操作:

请参见user_login_userkey()方法here

/**
 * Logs a user in using userkey and redirects after.
 *
 */
public function user_login_userkey() {

    $keyvalue = required_param('key', PARAM_ALPHANUM);
    $wantsurl = optional_param('wantsurl', '', PARAM_URL);

    if (!empty($wantsurl)) {
        $redirecturl = $wantsurl;
    } else {
        $redirecturl = $CFG->wwwroot;
    }
    if (isloggedin()) {
        $this->redirect($redirecturl);
    }


因此,您只需要传递具有课程URL的wantsurl参数,登录后它将自动将您重定向到课程。

10-08 00:18