在moodle中使用自定义服务器进行SSO

问题描述 投票:0回答:1

有一些学校希望我为他们创建moodle网站,他们需要以下逻辑

1-学生在他们的系统中注册

2-登录应该在他们的系统中完成

3-当我打开moodle的登录界面时,我应该有登录按钮,当学生按下它时,我应该把他重定向到外部登录页面。

4-学生将输入用户名和密码,然后按登录。

5-系统应该返回代码,并将学生重定向到我的系统中带有返回代码的页面。

6- 那么我的系统中的这个页面应该用这个代码再做一次API请求,以获得访问令牌和学生数据,如(电子邮件,姓名等)。

7-得到学生数据后,我应该在我的数据库中搜索它在moodle中。

8-如果已经找到了,我应该将用户登录到我的系统中,保持沉默,并将学生重定向到他的仪表板。

9-如果没有找到,我应该创建学生到系统,然后在沉默中登录学生,并将他重定向到他的仪表板。

10-今后每次学生打开moodle时,我都要验证token是否仍然有效或过期,如果过期了,我应该强迫学生再来一次,然后转到#3。

谁能告诉我如何在moodle中实现这个逻辑?

我已经在moodle中启用了restful web服务,我找到了如何在moodle中使用api方法创建用户,但我找不到登录或登出的方法。

帮忙

php moodle moodle-api
1个回答
1
投票

在Moodle中已经有了一堆认证插件。

https:/docs.moodle.org38en认证。

包括OAuth2

https:/docs.moodle.org38enOAuth_2_authentication。

但我们倾向于使用SAML2,它是Catalyst的一个可靠的贡献插件,可以和大多数SSO系统一起工作。

https:/moodle.orgpluginsauth_saml2。

© www.soinside.com 2019 - 2024. All rights reserved.