我一直在使用 HTML5/JQuery 构建一个移动网络应用程序,作为该应用程序的一部分,我需要要求用户在该应用程序上登录 Moodle。
不幸的是我不知道该怎么做。
我不确定是否可以在我的应用程序上创建一个登录表单来使用moodle检查用户详细信息,或者我是否需要重定向到moodle并从那里获取响应。
对此有很多模糊、令人困惑的问题,因此我将尽可能清楚地说明应用程序应该做什么。
用户打开应用程序A
应用程序 A 要求用户使用其 Moodle 详细信息登录
Moodle 告诉应用程序登录是否成功
应用程序 A 显示错误,或允许用户访问该应用程序。
如果有人可以帮助我,我将非常感激。
最佳答案
您可以使用moodle auth plugins用于启用 SSO。
如果您在同一域上托管 Moodle,则可以在应用程序 A 和 Moodle 之间共享 Cookie,并且您可以在 Moodle 身份验证插件中进行验证时使用共享的 Cookie。
如果域不同,您需要在查询参数中传递 cookie(例如 sess_uuid),并在您的身份验证插件中 grep 它,并使用它来验证应用程序 A 数据库(可能正在使用 REST 调用)以及 cookie 是否有效,您可以在 Moodle 中查找用户(通过 Cookie 验证调用中提供的详细信息进行识别)。如果用户存在于moodle中,您只需要在插件中设置全局变量$user,如果用户不存在于moodle中,根据您的要求,您可以创建新用户或不在插件中设置用户,最终会导致登录错误。
关于javascript - 从外部网站验证 Moodle 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28986191/