为 Open LMS 设置和配置 Moodle LMS 插件

本文介绍如何安装和配置 Moodle LMS 插件,以将 Microsoft Teams 与 Open LMS 体验集成。

先决条件

若要设置和配置已安装的 Open LMS 以使用 Microsoft Teams,请执行以下操作:

配置 Microsoft 365 插件与 Microsoft 服务之间的连接

必须先配置 Microsoft 365 插件与 Microsoft 服务之间的连接,然后才能协同工作。

注意

配置集成时,请在单独的浏览器选项卡中打开 Microsoft 365 集成配置页,因为在整个过程中需要返回到这些页面。

启用 OpenID Connect 身份验证插件

为了使 Moodle 插件与 Microsoft 服务通信,需要打开并配置 OpenID Connect 身份验证插件。

  1. 导航到 “站点管理>插件>身份验证” ,然后选择“ 管理身份验证”。
  2. 找到 OpenID Connect 身份验证插件,然后选择 眼睛图标 将其打开。
  3. 选择插件的 “设置” 以验证 授权令牌 终结点。
    1. 默认值应为:
      1. 授权终结点: https://login.microsoftonline.com/common/oauth2/authorize
      2. 令牌终结点: https://login.microsoftonline.com/common/oauth2/token
  4. 记录 重定向 URI 供以后使用。

注意

并非所有 Open LMS 用户都需要使用 OpenID Connect 身份验证插件作为其身份验证方法;但是,如果他们使用其他身份验证方法,则 Open LMS 帐户需要 连接到 相应的 Microsoft 帐户,然后才能使用 Teams 集成中的某些功能,例如同步 Teams 所有权和成员身份。

先决条件

使用 PowerShell 脚本在Microsoft Entra ID中将 Open LMS 注册为应用程序。 该脚本预配以下项:

  • Microsoft 365 租户的新Microsoft Entra应用程序,由 Microsoft 365 Moodle 插件使用。
  • Microsoft 365 租户的应用为预配的应用设置所需的回复 URL 和权限, AppID 并返回 和 Key
  • 在不是 Windows 的操作系统上,应仅按照手动过程在 Azure 中注册 Open LMS 实例。 有关详细信息,请查看下面的 “重要 警报”部分。

重要

有关手动注册 Open LMS 实例的详细信息,请参阅 将 Open LMS 实例注册为应用程序

注册应用后,验证是否已应用所有 Azure 应用权限。 有关详细信息,请参阅 Azure 应用权限

使用 PowerShell 在 Azure 中注册应用程序

步骤 1:创建 Azure 应用

  1. 导航到 “站点管理>插件”“>本地插件 ”,然后选择“ Microsoft 365 集成”。 这将打开 Microsoft 365 集成配置页。

  2. 在 Microsoft 365 集成配置页中,选择“ 设置 ”选项卡。

  3. 选择“ 下载 PowerShell 脚本 ”按钮,并将其作为 ZIP 文件夹保存到本地计算机。

    注意

    运行脚本会在 Microsoft 365 租户中创建一个新的 Microsoft Entra 应用程序,该应用程序设置所需的回复 URL 和权限,提供所需的权限,并返回 AppIDKey

    该脚本在非 Windows 操作系统的 PowerShell 中不起作用。

  4. 从 ZIP 文件准备 PowerShell 脚本,如下所示:

    1. 下载并提取 Moodle-AzureAD-Powershell.zip 文件。
    2. 打开提取的文件夹。
    3. 右键单击文件, Moodle-AzureAD-Script.ps1 然后选择“ 属性”。
    4. 在属性窗口的“常规”选项卡下,选中Unblock窗口底部的“安全性”属性旁边的复选框。
    5. 选择“确定”。
    6. 将目录路径复制到提取的文件夹。
  5. 以管理员身份运行 PowerShell:

    1. 在 Windows 中,打开“开始”菜单。
    2. 类型 PowerShell
    3. 右键单击Windows PowerShell
    4. 选择“ 以管理员身份运行”。
  6. 通过键入cd .../.../Moodle-AzureAD-Powershell.../...目录的路径,导航到解压缩的目录。

  7. 执行 PowerShell 脚本:

    1. 输入 ./Moodle-AzureAD-Script.ps1
    2. 当系统询问时,请在弹出窗口中登录到 Microsoft 365 管理员帐户。
    3. 当系统询问时,请输入Microsoft Entra应用程序的名称。 例如,Open LMS、Moodle 或 Moodle 插件。
    4. 当系统询问时,请输入 Open LMS 服务器的 URL。
    5. 当系统询问时,请输入从 OpenID Connect 身份验证插件配置页复制的答复 URL。 这是 Open LMS 网站的 URL, \auth\oidc\后跟 。
    6. 系统可能会要求你在此过程的弹出窗口中再次登录到 Microsoft 365 帐户。 这是为了向组织添加的应用的权限提供管理员同意。
    7. 脚本完成执行后,复制脚本生成的 应用程序 ID (AppID) 应用程序密钥 Key () 并保存它们。

步骤 2:在 OpenID Connect 中设置 Azure 应用详细信息

  1. 返回到 OpenID Connect 身份验证插件配置页。
  2. AppID 值粘贴到“ 应用程序 ID ”框中, Key 将值粘贴到“ 密钥 ”框中,然后选择“ 保存更改”。

步骤 3:配置 Microsoft 插件与 Microsoft 服务之间的连接

  1. 在 Microsoft 365 集成配置页中,选择“ 设置 ”选项卡。
  2. “选择连接方法”中,选择“ 应用程序访问权限”,然后再次选择“ 保存更改 ”。
  3. 页面刷新后,可以看到另一个新部分管理员同意 & 其他信息
    1. 选择“提供管理员同意”链接,输入 Microsoft 365 全局管理员凭据,然后选择“接受”以授予权限。
    2. “Microsoft Entra租户”字段旁边,选择“检测”按钮。
    3. OneDrive for Business URL 旁边,选择“检测”按钮。
    4. 填充字段后,再次选择“ 保存更改 ”按钮。
  4. 选择“ 更新 ”按钮以验证安装。 如果在此阶段未报告任何错误,则意味着 Microsoft 插件可以通过 Microsoft Graph API 与 Microsoft 服务器通信。

步骤 4:配置用户和课程同步

  1. 在 Open LMS 服务器和Microsoft Entra ID之间同步用户。 在此阶段,可以选择不同的选项,具体取决于你的环境。 首先,请执行以下操作:

    1. 在 Microsoft 365 集成配置页中,选择“ 同步设置” 选项卡。

    2. 在“使用Microsoft Entra ID同步用户”设置中,选中适用于环境的复选框。 必须选择以下选项:
      ✔ 在 Open LMS 中为 Microsoft Entra ID 中的用户创建帐户。 ✔ 为 Microsoft Entra ID 中的用户更新 Open LMS 中的所有帐户。

    3. “用户创建限制”部分中,可以设置筛选器以限制同步到 Open LMS 的Microsoft Entra用户。

      注意

      启用用户同步不是绝对必需的;但是,它将使 Open LMS 用户与 Microsoft 365 帐户的连接更加轻松。

      用户同步是通过运行具有Microsoft Entra ID计划任务的同步用户来执行的。

  2. “课程同步 ”部分中,可以选择“ 课程同步自定义 ”选项,以启用部分或全部现有 Open LMS 课程的自动创建 Teams。

    注意

    通过运行“ 将 Moodle 课程同步到 Microsoft Teams ”计划任务来执行课程同步。

  3. 保存更改。

  4. 若要验证同步配置,需要首次手动运行计划任务。 导航到 “站点管理>服务器>任务>”“计划任务”。

    1. 向下滚动并找到任务“使用Microsoft Entra ID同步用户”,然后选择“立即运行”。
      1. 这将根据用户同步选项将Microsoft Entra用户同步到 Open LMS 站点。
    2. 接下来,找到“ 将 Moodle 课程同步到 Microsoft Teams ”任务,然后选择“ 立即运行”。
      1. 此任务将为所有打开同步选项的 Open LMS 课程创建组,如果课程中可以找到 团队所有者 ,则还会创建 Teams。
      2. 此任务还将将课程中注册的 Open LMS 用户作为所有者或成员同步到 Teams。
        1. 团队 所有者 是满足以下所有条件的 Open LMS 用户:
          1. 已连接到 Microsoft 365 帐户。
          2. 在课程中注册。
          3. local/o365:teamowner具有课程上下文中的功能。
        2. 同样 ,团队成员是 满足以下所有条件的 Open LMS 用户:
          1. 已连接到 Microsoft 365 帐户。
          2. 在课程中注册。
          3. local/o365:teamember具有课程上下文中的功能。
        3. 默认教师角色具有 local/o365:teamowner 功能,默认学生角色具有 local/o365:teammember 功能。

注意

计划任务由 Moodle Cron 触发,需要将其配置为频繁运行。 每个计划任务都可以具有默认计划,并且可以自定义。

  • 用户与Microsoft Entra ID任务同步的默认计划是每分钟一次。
  • Moodle 课程同步到 Microsoft Teams 任务的默认时间表是每天在 Open LMS 服务器默认时区的凌晨 1 点。

安装并配置插件后,可以:

Extra Moodle 插件文档

若要查看 Open LMS 的 Microsoft 365 集成指南和发行说明,请参阅以下资源: