← Back to team overview

mahara-contributors team mailing list archive

[Bug 1487464] [NEW] SAML Update user details on login option creating new email artefact on every login

 

Public bug reported:

Mahara version: 15.04.1

Issue: When a user logs in via SAML and the configuration option is set
to update the user's details then a new email artefact is created every
time.

I think I have traced the problem

saml/lib.php line #234 calls set_profile_field($user->id, 'email',
$email);

lib/user.php lines #511-516 are a try{} in which  $email =
artefact_instance_from_type('email', $userid); is called.

This fails with the message "This artefact type is not a 'singular'
artefact type" and so a new email artefact is created.

It will always fail because artefact/internal/lib.php lines #705-708
returns false for is_singular()

class ArtefactTypeEmail extends ArtefactTypeProfileField {
    public static function is_singular() {
        return false;
    }

** Affects: mahara
     Importance: Undecided
         Status: New

** Description changed:

  Mahara version: 15.04.1
  
  Issue: When a user logs in via SAML and the configuration option is set
  to update the user's details then a new email artefact is created every
  time.
  
  I think I have traced the problem
  
  saml/lib.php line #234 calls set_profile_field($user->id, 'email',
  $email);
  
  lib/user.php lines #511-516 are a try{} in which  $email =
  artefact_instance_from_type('email', $userid); is called.
  
  This fails with the message "This artefact type is not a 'singular'
  artefact type" and so a new email artefact is created.
  
  It will always fail because artefact/internal/lib.php lines #705-708
- return false for is_singular()
+ returns false for is_singular()
  
  class ArtefactTypeEmail extends ArtefactTypeProfileField {
-     public static function is_singular() {
-         return false;
-     }
+     public static function is_singular() {
+         return false;
+     }

-- 
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/1487464

Title:
  SAML Update user details on login option creating new email artefact
  on every login

Status in Mahara:
  New

Bug description:
  Mahara version: 15.04.1

  Issue: When a user logs in via SAML and the configuration option is
  set to update the user's details then a new email artefact is created
  every time.

  I think I have traced the problem

  saml/lib.php line #234 calls set_profile_field($user->id, 'email',
  $email);

  lib/user.php lines #511-516 are a try{} in which  $email =
  artefact_instance_from_type('email', $userid); is called.

  This fails with the message "This artefact type is not a 'singular'
  artefact type" and so a new email artefact is created.

  It will always fail because artefact/internal/lib.php lines #705-708
  returns false for is_singular()

  class ArtefactTypeEmail extends ArtefactTypeProfileField {
      public static function is_singular() {
          return false;
      }

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


Follow ups