有一些学校希望我为他们创建moodle网站,他们需要以下逻辑
1-学生在他们的系统中注册
2-登录应该在他们的系统中完成
3-当我打开moodle的登录界面时,我应该有登录按钮,当学生按下它时,我应该把他重定向到外部登录页面。
4-学生将输入用户名和密码,然后按登录。
5-系统应该返回代码,并将学生重定向到我的系统中带有返回代码的页面。
6- 那么我的系统中的这个页面应该用这个代码再做一次API请求,以获得访问令牌和学生数据,如(电子邮件,姓名等)。
7-得到学生数据后,我应该在我的数据库中搜索它在moodle中。
8-如果已经找到了,我应该将用户登录到我的系统中,保持沉默,并将学生重定向到他的仪表板。
9-如果没有找到,我应该创建学生到系统,然后在沉默中登录学生,并将他重定向到他的仪表板。
10-今后每次学生打开moodle时,我都要验证token是否仍然有效或过期,如果过期了,我应该强迫学生再来一次,然后转到#3。
谁能告诉我如何在moodle中实现这个逻辑?
我已经在moodle中启用了restful web服务,我找到了如何在moodle中使用api方法创建用户,但我找不到登录或登出的方法。
帮忙
在Moodle中已经有了一堆认证插件。
包括OAuth2
https:/docs.moodle.org38enOAuth_2_authentication。
但我们倾向于使用SAML2,它是Catalyst的一个可靠的贡献插件,可以和大多数SSO系统一起工作。