...
This adapter processes the launch data so that it is compliant with the format that the Sakai Basic LTI provider expects. Firstly, the endpoint_url parameter is suffixed with the tool_id. Next the context_id is checked to see if it is a ~. If so, an additional parameter is added, ext_sakai_provider_eid with value of the user_id. This tells the Sakai Basic LTI provider that it is to treat the supplied user_id as the eid, ie jsmith26. Ordinary calls expect this to be the actual internal UUID for the user, which is unknown to external applications without a web service call so we use the available data instead. It also signals that the site we are requesting is the user's My Workspace (signalled by the ~) so we are able to render tools from My Workspace if context_id=~.
Code Block |
---|
endpoint_url=http://your.sakai.server/imsblti/provider/;;
context_id=~;;
tool_id=sakai.resources;;
|
The above launch data will render the Resources tool from the user's My Workspace.
Code Block |
---|
{color:#000000} {color} {color:#000000}endpoint_url=http://your.sakai.server/imsblti/provider/;; context_id=1c3ef5ac-bbee-4542-a2b9-d2be052b38e0;; tool_id=sakai.rwiki;; |
The above launch data will render the Wiki tool from the specified site. The current user must be a member of the site or the wiki must be public, or the request will fail.
...
- The required logic for the Sakai Basic LTI provider was added in version 1.4. This is shipped with Sakai 2.9 but is also compatible with earlier versions of Sakai so if you are using an older version you will need to upgrade the Sakai Basic LTI provider.
- You should also enable the highly trusted consumers setting in sakai.properties. This allows the user_id and context_id to be used by the provider as-is. Under the standard configuration, the Sakai Basic LTI provider will prefix the incoming user_id and context_id, and create a new user account and site. This limits the level of integration possible as many users will have existing sites and content that can be reused outside of Sakai. You need to set the following property to allow the values to passthrough without this prefixing occurring:
where my.school.edu.au is the consumer key. This also assumes thatCode Block basiclti.provider.highly.trusted.consumers=my.schoolconsumer.edukey.au
here
- If enabling highly trusted consumers (recommended) it assumes the username of users in both uPortal and Sakai are identical (e.g. jsmith26 in both systems).
- The tool_id you can use is dictated by the list of allowed tools in sakai.properties.
Overall, ensure you have correctly setup the Basic LTI provider in Sakai.