Membership API Not Returning Email Field in LTI 1.3 Integration with PebblePad

Membership API Not Returning Email Field in LTI 1.3 Integration with PebblePad

by Rajmale Kaur -
Number of replies: 5

Background:

We have integrated PebblePad into Moodle using LTI 1.3. The integration uses email as the username and works correctly for the SSO component. However, there is an issue with the Memberships API, which is not returning the email field in the API call results. This is preventing user memberships from syncing between Moodle and PebblePad.

Issue:

The Memberships API call results show that users are found, but the email field is missing from the response. Without the email being passed, the integration cannot sync memberships properly.

Steps Already Taken:

  • The PebblePad Service Account Role has been reviewed, and the required permissions listed below are enabled:
    • moodle/user:update
    • moodle/user:viewalldetails
    • moodle/user:viewhiddendetails
    • moodle/grade:edit
    • gradereport/user:view
    • moodle/course:managegroups
    • moodle/course:useremail
    • moodle/course:view
    • moodle/course:viewhiddencourses
    • moodle/course:viewparticipants
    • moodle/user:viewdetails
    • mod/lti:view
    • moodle/site:accessallgroups
    • moodle/site:viewfullnames

These permissions were enabled during the initial LTI setup.

Are there any site-wide privacy settings in Moodle that could prevent the email field from being included in the API call response?

Average of ratings: -
In reply to Rajmale Kaur

Re: Membership API Not Returning Email Field in LTI 1.3 Integration with PebblePad

by Jake Dallimore -
Picture of Core developers Picture of Moodle HQ Picture of Peer reviewers Picture of Plugin developers Picture of Testers
Hi Rajmale,

This isn't likely to be related to Moodle capabilities. Rather it's controlled by the tool config. Can you share the tool configuration for Pebble? Specifically, I'd like to see the "Privacy" settings of that tool. There are two settings: share launcher's name and share launcher's email. I believe you'll need both of those to be enabled, otherwise the NRPS service will omit name/email from the response to the tool.

Cheers,
Jake
In reply to Jake Dallimore

Re: Membership API Not Returning Email Field in LTI 1.3 Integration with PebblePad

by Rajmale Kaur -
Hi Jake,

The privacy settings are configured to Share both the Launcher's name and email. See the attached image.

Thanks,
Raj
In reply to Rajmale Kaur

Re: Membership API Not Returning Email Field in LTI 1.3 Integration with PebblePad

by Liam Moran -
Picture of Core developers

I'm unfamiliar with PebblePad but took a look at what I believe is their Moodle integration instructions. It appears that instead of using the LTI 1.3 Names & Roles Provisioning Service to synchronize rosters, it also uses Moodle core webservices. (It does say in Step 2 that it uses NRPS, though...)

In reply to Liam Moran

Re: Membership API Not Returning Email Field in LTI 1.3 Integration with PebblePad

by Michael Hughes -
Picture of Core developers Picture of Plugin developers
We're just looking at this as well to move to their LTI 1.3, and the use of the Direct APIs with a *full* administrator capable user account, is giving me some concerns.

Partly the group support for disclosing (or not) members of a group (that was implemented in response to things like FERPA regulations) would be bypassed by this, which seems pointless given the work done to ensure that only "appropriate" people can see those group memberships by Moodle.