-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PII Sharing in LTI 1.3 Works Inconsistently #295
Comments
@MichaelRoytman +1 to all recommendations.
I think the PII implementation was never given much though, so different settings were implemented on a per need basis. Maybe we should re-look at how it works and make it consistent (both across LTI versions and use cases). There's also de LTI-NRPS which sends over usernames and passwords when
It can, but the potential risk is that anyone creating a course can set up an LTI tool. A malicious user could use a tool to extract user information from the platform. I'm not sure if the legal discussion ever moved forward after this, and this is why the default is super restrictive.
I think the modal not showing up on inline launches is a bug. There were some changes to this behavior in the past: #204.
I think the concern here is more legal than anything else (sending PII to external tools is tricky). |
PII sharing in LTI 1.3 launches works inconsistently and potentially has a few bugs.
How Do We Enable PII Sharing?
As a review, there are two key pieces of data that control when PII is shared in LTI. This summary comes from reading the code and from the Unified Flag for Enabling Sharing of PII in LTI ADR. It summarizes how these data are used in LTI 1.1.
CourseAllowPIISharingInLTIFlag
: a configuration model that controls whether twoLtiConsumerXBlock
fieldsask _to_send_username
andask_to_send_email
are editable in Studio and whether their values are respected for PII sharing. If this model not enabled, PII should not be shared, regardless of the value of the aforementioned fields.LtiConsumerXblock
fields that are editable in Studio ifCourseAllowPIISharingInLTIFlag
is enabled; they control whether to send the username and email claims in the LTI ID token, respectively.How Does PII Sharing Work in LTI 1.3?
LTI 1.3 Resource Link Launch
username
noremail
claim is sent in the LTI ID token, regardless of the values of the pieces of data above.ask_to_send_username
orask_to_send_email are enabled
, a PII sharing consent modal appears before the LTI launch. Even though this consent modal is displayed, no such data is ever shared.CourseAllowPIISharingInLTIFlag
is not used to determine whether to display this modal - onlyask_to_send_username
andask_to_send_email
.modal
ornew_window
launches, notinline
launches.LTI 1.3 Names and Role Provisioning Context Membership Service Call
CourseAllowPIISharingInLTIFlag
is used to determine whether to send PII, butask_to_send_username
andask_to_send_email
are not used; PII is shared ifCourseAllowPIISharingInLTIFlag
is enabledname
andemail
, notusername
andemail
. Theask_to_send_username
andask_to_send_email
fields would suggest that we should sendusername
andemail
(even though these fields are not used).Recommendations
CourseAllowPIISharingInLTIFlag
should also control whether the PII sharing consent modal is displayed.inline
LTI launches as well.CourseAllowPIISharingInLTIFlag
is enabled, the LTI launch should include PII, depending on the values ofask_to_send_username
andask_to_send_email
.username
andemail
if and only ifCourseAllowPIISharingInLTIFlag
is enabled andask_to_send_username
orask_to_send_email
are enabled, respectively.username
claim instead of aname
claim whenask_to_send_username
is enabled.Questions
name
. Is this of any concern?The text was updated successfully, but these errors were encountered: