为 Open LMS 设置和配置 Moodle LMS 插件
本文介绍如何安装和配置 Moodle LMS 插件,以将 Microsoft Teams 与 Open LMS 体验集成。
先决条件
设置和配置已安装的 Open LMS 以使用 Microsoft Teams:
- 验证 Moodle OpenID Connect 和 Microsoft 365 集成 插件是否处于活动状态。
配置 Microsoft 365 插件与Microsoft服务之间的连接
必须先配置 Microsoft 365 插件与Microsoft服务之间的连接,然后才能协同工作。
注意
配置集成时,请将 Microsoft 365 集成配置页保留在单独的浏览器选项卡中打开,因为在整个过程中需要返回到这些页面。
启用 OpenID Connect 身份验证插件
为了使 Moodle 插件能够与Microsoft服务通信,需要打开并配置 OpenID Connect 身份验证插件。
- 导航到 “站点管理>插件>身份验证” ,然后选择“ 管理身份验证”。
- 找到 OpenID Connect 身份验证插件,然后选择 眼睛图标 将其打开。
- 选择插件的 “设置” 以验证 授权 和 令牌 终结点。
- 默认值应为:
- 授权终结点:
https://login.microsoftonline.com/common/oauth2/authorize
。 - 令牌终结点:
https://login.microsoftonline.com/common/oauth2/token
。
- 授权终结点:
- 默认值应为:
- 记录 重定向 URI 供以后使用。
注意
并非所有 Open LMS 用户都需要使用 OpenID Connect 身份验证插件作为其身份验证方法;但是,如果他们使用其他身份验证方法,则 Open LMS 帐户需要 连接到 其相应的Microsoft帐户,然后才能使用 Teams 集成中的某些功能,例如同步 Teams 所有权和成员身份。
先决条件
使用 PowerShell 脚本在Microsoft Entra ID中将 Open LMS 注册为应用程序。 该脚本预配以下项:
- Microsoft 365 Moodle 插件使用的 Microsoft 365 租户的新Microsoft Entra应用程序。
- Microsoft 365 租户的应用为预配的应用设置所需的回复 URL 和权限,并返回
AppID
和Key
。 - 在不是 Windows 的作系统上,应仅按照手动过程在 Azure 中注册 Open LMS 实例。 有关详细信息,请查看下面的 “重要 警报”部分。
重要
有关手动注册 Open LMS 实例的详细信息,请参阅 将 Open LMS 实例注册为应用程序。
注册应用后,验证是否已应用所有 Azure 应用权限。 有关详细信息,请参阅 Azure 应用权限。
使用 PowerShell 在 Azure 中注册应用程序
步骤 1:创建 Azure 应用
导航到 “站点管理>插件”“>本地插件 ”,然后选择“ Microsoft 365 集成”。 这会打开 Microsoft 365 集成配置页。
在“Microsoft 365 集成配置”页中,选择“ 设置 ”选项卡。
选择“ 下载 PowerShell 脚本 ”按钮,并将其作为 ZIP 文件夹保存到本地计算机。
注意
运行脚本会在 Microsoft 365 租户中创建一个新的 Microsoft Entra 应用程序,该应用程序设置所需的回复 URL 和权限,提供所需的权限,并返回
AppID
和Key
。该脚本在非 Windows作系统的 PowerShell 中不起作用。
从 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应用程序的名称。 例如,Open LMS、Moodle 或 Moodle 插件。
- 当系统询问时,请输入 Open LMS 服务器的 URL。
- 当系统询问时,请输入从 OpenID Connect 身份验证插件配置页复制的答复 URL。 这是 Open LMS 网站的 URL,
\auth\oidc\
后跟 。 - 在此过程中,系统可能会要求你再次登录到 Microsoft 365 帐户。 这是为了向组织添加的应用的权限提供管理员同意。
- 脚本完成执行后,复制脚本生成的 应用程序 ID (
AppID
) 和 应用程序密钥Key
() 并保存它们。
- 输入
步骤 2:在 OpenID Connect 中设置 Azure 应用详细信息
- 返回到 OpenID Connect 身份验证插件配置页。
- 将
AppID
值粘贴到“ 应用程序 ID ”框中,Key
将值粘贴到“ 密钥 ”框中,然后选择“ 保存更改”。
步骤 3:配置Microsoft插件与Microsoft服务之间的连接
- 在“Microsoft 365 集成配置”页中,选择“ 设置 ”选项卡。
- 在 “选择连接方法”中,选择“ 应用程序访问权限”,然后再次选择“ 保存更改 ”。
- 页面刷新后,可以看到另一个新部分管理员同意 & 其他信息。
- 选择“提供管理员同意”链接,输入Microsoft 365 全局管理员凭据,然后接受以授予权限。
- 在“Microsoft Entra租户”字段旁边,选择“检测”按钮。
- 在OneDrive for Business URL 旁边,选择“检测”按钮。
- 填充字段后,再次选择“ 保存更改 ”按钮。
- 选择“ 更新 ”按钮以验证安装。 如果在此阶段未报告错误,则意味着Microsoft插件可以通过Microsoft Graph API 与Microsoft服务器通信。
步骤 4:配置用户和课程同步
在 Open LMS 服务器和Microsoft Entra ID之间同步用户。 在此阶段,可以选择不同的选项,具体取决于你的环境。 首先,请执行以下操作:
在“Microsoft 365 集成配置”页中,选择“ 同步设置” 选项卡。
在“使用Microsoft Entra ID同步用户”设置中,选中适用于环境的复选框。 必须选择以下选项:
✔ 在 Open LMS 中为 Microsoft Entra ID 中的用户创建帐户。 ✔ 为 Microsoft Entra ID 中的用户更新 Open LMS 中的所有帐户。在“用户创建限制”部分中,可以设置筛选器以限制同步到 Open LMS 的Microsoft Entra用户。
注意
启用用户同步不是绝对必需的;但是,它将使 Open LMS 用户与 Microsoft 365 个帐户的连接变得更加容易。
用户同步是通过运行具有Microsoft Entra ID计划任务的同步用户来执行的。
在 “课程同步 ”部分中,可以选择“ 课程同步自定义 ”选项,以启用部分或全部现有 Open LMS 课程的自动创建 Teams。
注意
课程同步是通过运行同步 Moodle 课程来执行的,Microsoft Teams 计划任务。
保存更改。
若要验证同步配置,需要首次手动运行计划任务。 导航到 “站点管理>服务器>任务>”“计划任务”。
- 向下滚动并找到任务“使用Microsoft Entra ID同步用户”,然后选择“立即运行”。
- 这将根据用户同步选项将Microsoft Entra用户同步到 Open LMS 站点。
- 接下来,找到“ 同步 Moodle 课程以Microsoft Teams ”任务,然后选择“ 立即运行”。
- 此任务将为所有打开同步选项的 Open LMS 课程创建组,如果课程中可以找到 团队所有者 ,则还会创建 Teams。
- 此任务还将将课程中注册的 Open LMS 用户作为所有者或成员同步到 Teams。
- 团队 所有者 是满足以下所有条件的 Open LMS 用户:
- 连接到 Microsoft 365 帐户。
- 在课程中注册。
-
local/o365:teamowner
具有课程上下文中的功能。
- 同样 ,团队成员是 满足以下所有条件的 Open LMS 用户:
- 连接到 Microsoft 365 帐户。
- 在课程中注册。
-
local/o365:teamember
具有课程上下文中的功能。
-
默认教师角色具有
local/o365:teamowner
功能,默认学生角色具有local/o365:teammember
功能。
- 团队 所有者 是满足以下所有条件的 Open LMS 用户:
- 向下滚动并找到任务“使用Microsoft Entra ID同步用户”,然后选择“立即运行”。
注意
计划任务由 Moodle Cron 触发,需要将其配置为频繁运行。 每个计划任务都可以具有默认计划,并且可以自定义。
- 将用户与Microsoft Entra ID任务同步的默认计划是每分钟一次。
- 将 Moodle 课程同步到 Microsoft Teams 任务的默认计划是每天凌晨 1 点,时间在 Open LMS 服务器默认时区。
安装并配置插件后,可以:
Extra Moodle 插件文档
若要查看 Open LMS 的 Microsoft 365 集成指南和发行说明,请参阅以下资源: