如何直接从服务器配置 Moodle O365 SSO?

How to configure Moodle O365 SSO directly from the server?

也许你们中的一些人遇到过类似的问题。我正在尝试自动化 Moodle 部署(包括 O365 SSO)。我使用从这里 https://moodle.org/plugins/auth_oidc 下载的 auth_oidc 插件。我在 Azure 中注册了一个应用程序:获得了客户端 ID 和密码,现在我想 "add" 这些值到我的 moodle 服务器。我知道我可以通过手动转到我的 Moodle 站点中的插件设置来轻松实现,但我想将其自动化并将这些值直接传递给一个函数,根据我的理解,该函数位于此处 /moodlesite.com/auth/oidc/settings.php(如果我错了请纠正我)。那么有什么想法可以实现吗??

如果您在 settings.php 中查看,有 2 个设置:

$settings->add(new admin_setting_configtext('auth_oidc/clientid', $configkey, $configdesc, '', PARAM_TEXT));

$settings->add(new admin_setting_configtext('auth_oidc/clientsecret', $configkey, $configdesc, '', PARAM_TEXT));

这些设置保存在名为 mdl_config_plugins

的 table 中

所以安装后你应该可以通过SQL

更新它们
UPDATE mdl_config_plugins
SET value = 'xxx'
WHERE plugin = 'auth_oidc'
AND name = 'clientid';

UPDATE mdl_config_plugins
SET value = 'xxx'
WHERE plugin = 'auth_oidc'
AND name = 'clientsecret';