Background
LtiResourceLinkRequest and NRPS membership container requires roles claim and must contain at least one role URI from the published role vocabularies.
IMS 1.3 spec lists 3 role vocabularies (link) but does NOT limit their use to specific cases.
- System roles
- Institution roles
- Context roles
Spec further subdivides each of these into core and non-core URIs and states: Core roles are those which are most likely to be relevant within LTI and hence vendors should support them by best practice. Vendors may also use the non-core roles, but they may not be widely used
Table in the image below shows roles supported by some LTI tools vs Open edX.
Here are some observations from the table above:
- All tools support context roles which makes sense because a typical LTI launch happens from within a course and therefore the role of the user in that course is most relevant to the launch.
- Open edX does NOT support any context roles. This is why integration fails with most of these tools (see test results).
- The institution roles that Open edX supports are really context roles because they are tied to a course and not an org.
The following table shows mapping between role URIs from the spec vs roles in Open edX.
| Course role |
Current URIs in roles claim |
| Course Admin |
/institution/person#Instructor (non-core) |
| Course Staff |
/system/person#Administrator (core)
/institution/person#Instructor (non-core) |
| Limited Staff |
/system/person#Administrator (core)
/institution/person#Instructor (non-core) |
| None |
/institution/person#Student (core) |
| All other roles |
/institution/person#Student (core) |
Proposed way forward
The table below shows current and proposed mapping between Open edX course roles and roles in the spec. Please refer to the spec to get full URIs and other relevant details: https://www.imsglobal.org/spec/lti/v1p3#roles-claim

Background
LtiResourceLinkRequestand NRPS membership container requires roles claim and must contain at least one role URI from the published role vocabularies.IMS 1.3 spec lists 3 role vocabularies (link) but does NOT limit their use to specific cases.
Spec further subdivides each of these into core and non-core URIs and states:
Core roles are those which are most likely to be relevant within LTI and hence vendors should support them by best practice. Vendors may also use the non-core roles, but they may not be widely usedTable in the image below shows roles supported by some LTI tools vs Open edX.
Here are some observations from the table above:
The following table shows mapping between role URIs from the spec vs roles in Open edX.
/institution/person#Instructor(non-core)/system/person#Administrator(core)/institution/person#Instructor(non-core)/system/person#Administrator(core)/institution/person#Instructor(non-core)/institution/person#Student(core)/institution/person#Student(core)Proposed way forward
The table below shows current and proposed mapping between Open edX course roles and roles in the spec. Please refer to the spec to get full URIs and other relevant details: https://www.imsglobal.org/spec/lti/v1p3#roles-claim