使用 Web 服务登录 Moodle 的问题

Problem with Moodle Login using Web Services

大家好。 :)

我目前正在为电子学习平台集成 Moodle。我已经使用 Web 服务(Javascript 客户端)实现了大部分功能。但是,不幸的是,我发现网络认证服务不存在。

我对自己说,为了在我的系统级别进行身份验证而不将用户从 moodle 数据库中的信息重定向到 moodle,我从登录中检索密码并使用用户输入的数据进行测试但是令人担忧的是 core_user_get_users 和 core_user_get_users_by_fields 函数不会向我发送密码(加密),而只会向我发送其他信息。

需要你的帮助!!

core_user_get_users 和 core_user_get_users_by_fields 非常正确地不能发送用户密码,因为 Moodle 本身不知道用户的密码是什么。

Moodle 仅存储用户密码的单向散列值 - 每次用户登录时,他们输入的密码散列值将与数据库中的密码进行比较,如果匹配则允许用户进入。根据设计,从 Moodle 数据库中的散列密码开始计算用户密码非常困难(并且耗时)。

如果您需要一种机制让用户从您的系统登录到 Moodle,而无需他们输入密码,那么您应该考虑使用支持单点登录的 Moodle 身份验证插件 - 标准的 Moodle 身份验证插件是列出于:https://docs.moodle.org/en/Authentication, but you may find that there is a 3rd-party authentication plugin that helps you at: https://moodle.org/plugins/?q=type:auth (https://moodle.org/plugins/auth_saml2 通常是一个很好的起点。