cannod / moodle-drupalservices

Moodle plugin to connect to Drupal services
36 stars 25 forks source link

Cross Domain SSO #25

Open netw3rker opened 10 years ago

netw3rker commented 10 years ago

This module needs to support actual cross domain SSO. To clarify, this assumes that the master user record (drupal) is on domain "drupalexample.com" and moodle is running on "otherexample.com". This is currently not possible and should somehow be.

The two main questions I have are: 1) should this be handled by moodleservices, or simply integrated with another plugin that already supports cross domain sso 2) are there best practice approaches to accomplish this. If there are any standards or best practices, lets bring them up here.

I'd also like to evaluate the need for this. Do we have any users that are currently looking for or waiting for this functionality? If so, weighing in is important, and also volunteers for testing are very important.

keep in mind that this is different from cross subdomain sso, which is currently supported in the 1.x version of this module (across all supported versions of moodle). This means that if the master user record (drupal) is on domain "drupal.example.com" and moodle is on "moodle.example.com". SSO currently does work.

I've added this as a 2.0 milestone, so we've got a lot of time to work this out. lets get to discussing!

cannod commented 10 years ago

I have been revisiting SSO options for Drupal/Moodle.

I have tried CAS server https://drupal.org/project/cas and used the core Moodle CAS auth plugin. It works and I would like to have a look at this solution in more detail and do further testing.

I have also been looking at using OAuth2 server https://drupal.org/project/oauth2_server and creating a Moodle OAuth2 auth plugin using https://moodle.org/plugins/view.php?plugin=auth_googleoauth2 as a guide.

FYI - I don't have the need for cross domain SSO or even subdomain SSO.

netw3rker commented 9 years ago

You are right, and bring up a good point. There are plenty of cross domain SSO options out there (like CAS). Implementing that functionality w/in here might not actually make any sense, and really would be reinventing the wheel. (with the exception of the import process).