设置 Moodle LMS 插件
本文介绍如何安装和配置 Moodle LMS 插件,以将 Microsoft Teams 与 Moodle 体验合并。
先决条件
以下是设置已安装 Moodle 以使用 Microsoft Teams 的先决条件:
- Moodle 管理员凭据。
- Microsoft Entra管理员凭据。
- 可在其中创建新资源的 Azure 订阅。
1.安装 Microsoft 365 Moodle 插件
Moodle 与 Microsoft Teams 的集成由 Microsoft 365 Moodle 插件集开放源代码提供支持。
必需的应用程序和插件
下载并安装以下项:
-
重要
如果没有现有的 Moodle 站点,请转到 Moodle on Azure 存储库,并快速部署 Moodle 实例并根据需要对其进行自定义。
下载 Moodle OpenID Connect 和 Microsoft 365 集成 插件并将其保存到本地计算机。
安装插件
- 下载插件,提取并上传到相应的文件夹。
- 将 OpenID Connect 插件 (auth_oidc) 解压缩到名为 oidc 的文件夹,并上传到 Moodle 文档根目录的 身份验证 文件夹。
- 将 Microsoft 365 集成插件 (local_o365) 解压缩到名为 o365 的文件夹,并上传到 Moodle 文档根目录的 本地 文件夹。
- 以管理员身份登录到 Moodle 网站,然后选择“ 网站管理”。
- 检测到要安装的新插件后,Moodle 应将你重定向到“安装新插件”页。 如果未发生这种情况,请在“网站管理”页的“常规”选项卡中选择“通知”,此操作应触发插件的安装。
- 安装新插件后,Moodle 将显示一个页面,其中包含已安装插件中的所有新配置。 可以通过应用默认设置安全地跳过此页面。 将在以下步骤中配置插件。
2.启用 OpenID Connect 身份验证插件
为了使 Moodle 插件与 Microsoft 服务通信,需要打开并配置 OpenID Connect 身份验证插件。
导航到 “站点管理>插件>身份验证” ,然后选择“ 管理身份验证”。
找到 OpenID Connect 身份验证插件,然后选择 眼睛图标 将其打开。
选择插件的 “设置” 以验证 授权 和 令牌 终结点。
- 默认值应为:
- 授权终结点:
https://login.microsoftonline.com/common/oauth2/authorize
。 - 令牌终结点:
https://login.microsoftonline.com/common/oauth2/token
。
- 授权终结点:
- 默认值应为:
记录 重定向 URI 供以后使用。
注意
并非所有 Moodle 用户都需要使用 OpenID Connect 身份验证插件作为其身份验证方法;但是,如果他们使用其他身份验证方法,则需要将 Moodle 帐户 连接到 相应的 Microsoft 帐户,然后才能使用 Teams 集成中的某些功能,例如同步 Teams 所有权和成员身份。
3.配置 Microsoft 365 插件与 Microsoft 服务之间的连接
必须先配置 Microsoft 365 插件与 Microsoft 服务之间的连接,然后才能协同工作。
注意
配置集成时,请在单独的浏览器选项卡中打开 Microsoft 365 Moodle 集成配置页,因为在整个过程中需要返回到这组页面。
创建 Azure 应用
导航到 “站点管理>插件”“>本地插件 ”,然后选择“ Microsoft 365 集成”。 这将打开 Microsoft 365 集成配置页。
在 Microsoft 365 集成配置页中,选择“ 设置 ”选项卡。
选择“ 下载 PowerShell 脚本 ”按钮,并将其作为 ZIP 文件夹保存到本地计算机。
注意
运行脚本会在 Microsoft 365 租户中创建一个新的 Microsoft Entra 应用程序,该应用程序设置所需的回复 URL 和权限,提供所需的权限,并返回
AppID
和Key
。PowerShell 脚本仅适用于 Windows 操作系统。
从 ZIP 文件准备 PowerShell 脚本,如下所示:
- 下载并提取
Moodle-AzureAD-Powershell.zip
文件。 - 打开提取的文件夹。
- 右键单击文件,
Moodle-AzureAD-Script.ps1
然后选择“ 属性”。 - 在属性窗口的“常规”选项卡下,选中
Unblock
窗口底部的“安全性”属性旁边的复选框。 - 选择“确定”。
- 将目录路径复制到提取的文件夹。
- 下载并提取
以管理员身份运行 PowerShell:
- 在 Windows 中,选择“ 开始”。
- 类型
PowerShell
。 - 右键单击Windows PowerShell。
- 选择“ 以管理员身份运行”。
通过键入
cd .../.../Moodle-AzureAD-Powershell
.../...
目录的路径,导航到解压缩的目录。执行 PowerShell 脚本:
- 输入
./Moodle-AzureAD-Script.ps1
。 - 当系统询问时,请在弹出窗口中登录到 Microsoft 365 管理员帐户。
- 当系统询问时,请输入Microsoft Entra应用程序的名称,例如 Moodle 或 Moodle 插件。
- 当系统询问时,请输入 Moodle 服务器的 URL。
- 当系统询问时,请输入从 OpenID Connect 身份验证插件配置页复制的答复 URL。 这实质上是 Moodle 网站的 URL,后跟
\auth\oidc\
。 - 系统可能会要求你在此过程的弹出窗口中再次登录到 Microsoft 365 帐户。 这是为了向组织添加的应用的权限提供管理员同意。
- 脚本完成执行后,复制脚本生成的 应用程序 ID (
AppID
) 和 应用程序密钥Key
() 并保存它们。
- 输入
在 Moodle 中设置 Azure 应用详细信息
- 返回到 OpenID Connect 身份验证插件配置页。
- 将
AppID
值粘贴到“ 应用程序 ID ”框中,Key
将值粘贴到“ 密钥 ”框中,然后选择“ 保存更改”。
在 Microsoft 插件和 Microsoft 服务之间配置连接
- 在 Microsoft 365 集成配置页中,选择“ 设置 ”选项卡。
- 在 “选择连接方法”中,选择“ 应用程序访问权限”,然后再次选择“ 保存更改 ”。
- 页面刷新后,可以看到另一个新部分管理员同意 & 其他信息。
- 选择“提供管理员同意”链接,输入 Microsoft 365 全局管理员凭据,然后选择“接受”以授予权限。
- 在“Microsoft Entra租户”字段旁边,选择“检测”按钮。
- 在OneDrive for Business URL 旁边,选择“检测”按钮。
- 填充字段后,再次选择“ 保存更改 ”按钮。
- 选择“ 更新 ”按钮以验证安装。 如果在此阶段未报告任何错误,则意味着 Microsoft 插件可以通过 Microsoft Graph API 与 Microsoft 服务器通信。
配置用户和课程同步
在 Moodle 服务器和Microsoft Entra ID之间同步用户。 在此阶段,可以选择不同的选项,具体取决于你的环境。 首先,请执行以下操作:
在 Microsoft 365 集成配置页中,选择“ 同步设置” 选项卡。
在“使用Microsoft Entra ID同步用户”设置中,选中适用于环境的复选框。 必须选择以下选项:
✔ 在 Moodle 中为 Microsoft Entra ID 中的用户创建帐户。 ✔ 为 Microsoft Entra ID 中的用户更新 Moodle 中的所有帐户。在“用户创建限制”部分中,可以设置筛选器以限制同步到 Moodle 的用户Microsoft Entra。
注意
不需要启用用户同步;但是,这将大大简化 Moodle 用户与 Microsoft 365 帐户的连接。
用户同步是通过运行具有Microsoft Entra ID计划任务的同步用户来执行的。
在 “课程同步 ”部分中,可以选择“ 课程同步自定义 ”选项,为部分或全部现有 Moodle 课程启用 Teams 的自动创建。
注意
通过运行“ 将 Moodle 课程同步到 Microsoft Teams ”计划任务来执行课程同步。
保存更改。
若要验证同步配置,需要首次手动运行计划任务,导航到 “站点管理>服务器>任务>计划任务”。
- 向下滚动并找到任务“使用Microsoft Entra ID同步用户”,然后选择“立即运行”。
- 这将根据用户同步选项将Microsoft Entra用户同步到 Moodle 网站。
- 接下来,找到“ 将 Moodle 课程同步到 Microsoft Teams ”任务,然后选择“ 立即运行”。
- 此任务将为启用同步选项的所有 Moodle 课程创建组,如果课程中可以找到 团队所有者 ,则也会创建 Teams。
- 该任务还将将课程中注册的 Moodle 用户作为所有者或成员同步到 Teams。
- 团队 所有者 是 Moodle 用户
- 已连接到 Microsoft 365 帐户,AND
- 已在课程中注册,AND
local/o365:teamowner
具有课程上下文中的功能。
- 同样 ,团队成员是 Moodle 用户
- 已连接到 Microsoft 365 帐户,AND
- 已在课程中注册,AND
local/o365:teamember
具有课程上下文中的功能。
- 默认教师角色具有
local/o365:teamowner
功能,默认学生角色具有local/o365:teammember
功能。
- 团队 所有者 是 Moodle 用户
- 向下滚动并找到任务“使用Microsoft Entra ID同步用户”,然后选择“立即运行”。
注意
计划任务由 Moodle Cron 触发,需要将其配置为频繁运行。 每个计划任务都可以有一个可自定义的默认计划。
- 将用户与Microsoft Entra ID任务同步的默认计划是每分钟一次。
- 将 Moodle 课程同步到 Microsoft Teams 任务的默认时间表是每天凌晨 1 点在 Moodle 服务器默认时区。
安装并配置插件后,可以:
Extra Moodle 插件文档
若要查看 Moodle 的 Microsoft 365 集成指南和发行说明,请参阅以下资源: