← Back to team overview

mahara-contributors team mailing list archive

[Bug 1269665] [NEW] XMLRPC web services don't honor $cfg->usersuniquebyusername

 

Public bug reported:

As reported in the forum:
https://mahara.org/interaction/forum/topic.php?id=6042

If you set $cfg->usersuniquebyusername, then when a user roams across
from XMLRPC, we're supposed to identify their Mahara account by finding
the usr.username value that matches their username in the remote system.

This is in contrast to the normal method, in which we look up their
remote username in the auth_remote_user table, and use that to map them
to a Mahara user.

The problem is that many of the XMLRPC web services methods, used by the
Moodle plugins, call a method api/xmlrpc/lib.php :
find_remote_user($username, $wwwroot);. And that method calls
User->find_by_instanceid_username(), a method which relies on the
auth_remote_user table.

What we should do is, if $cfg->usersuniquebyusername is set,
find_remote_user() should call User->find_by_username(), the same as
what goes on auth/xmlrpc/lib.php : AuthXmlrpc->request_user_authorise()

** Affects: mahara
     Importance: Low
         Status: Confirmed


** Tags: mnet moodle xmlrpc

-- 
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1269665

Title:
  XMLRPC web services don't honor $cfg->usersuniquebyusername

Status in Mahara ePortfolio:
  Confirmed

Bug description:
  As reported in the forum:
  https://mahara.org/interaction/forum/topic.php?id=6042

  If you set $cfg->usersuniquebyusername, then when a user roams across
  from XMLRPC, we're supposed to identify their Mahara account by
  finding the usr.username value that matches their username in the
  remote system.

  This is in contrast to the normal method, in which we look up their
  remote username in the auth_remote_user table, and use that to map
  them to a Mahara user.

  The problem is that many of the XMLRPC web services methods, used by
  the Moodle plugins, call a method api/xmlrpc/lib.php :
  find_remote_user($username, $wwwroot);. And that method calls
  User->find_by_instanceid_username(), a method which relies on the
  auth_remote_user table.

  What we should do is, if $cfg->usersuniquebyusername is set,
  find_remote_user() should call User->find_by_username(), the same as
  what goes on auth/xmlrpc/lib.php :
  AuthXmlrpc->request_user_authorise()

To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1269665/+subscriptions


Follow ups

References