Kenwrick,
I just noticed that you mention Sakai 19 in the subject. The documentation I mention is versioned and maintained in the branches for each release. So the documentation for LTI 1.3 Sakai 19 is here:
You can do a test integration using
sakai.tsugiproject.org if you want to run through it all before you work with your vendor. We can get you the admin password - it is our shared / QA test platform.
TL;DR - Sakai 20.3 and Sakai 21 have better support for LTI 1.3 than Sakai 19.
What happened was that LTI 1.3 came out and we had some things in the spec that were like "you can do it one of two ways”.
The first implementations (Sakai 19, Moodle, Canvas, and Blackboard) picked what seemed to be the simpler of the two ways and delivered it. It was a great honor to be in the first four and we cross-tested everything with Tsugi - and that was cool and gave us really solid on-the-ground interoperability on Day 1 of LTI 1.3.
But (always a but) almost nine months later D2L decided they did not like the “simple way" and did it the “hard way” and refused to support the “simple way” at all. By then with some experience, the other four LMSs realized that the “hard way” was more code but more secure and much easier for end-users in the long run - so we knew it was a very good idea. So those initial LMS’s quickly added the “hard way” and deprecated the “simple way”. By Sakai 21 - you can’t even do it the easy way in Sakai - it was deprecated in 20 and removed in 21.
This has to do with the keyset url (hard and better) or out of band private key exchange (easy, insecure, and bad).
The good news (sort of) is that most tools came late to the party and were strongly encouraged not to do the simple way at all and just do the keyset - because after all D2L would not work at all. So most tools only took the hard (but more convenient for you) way.
There were also tweaks that we all learned along the way like embedding the client id in keyset urls to maintain compatibility between multiple independent credential approach (Sakai and Moodle) and single source credentials across multiple tenants (D2L, Blackboard, and Canvas). Long story - yucky picture. Those changes affected the formats of the urls that were exchanged back and forth. Most of the work in that case was on the tools. Again - we figured this out after the spec was out for nine months but before most tools got serious with LTI 1.3 so most tools just did it correctly out of the gate and LMS’s fixed themselves and evolved from the old way to the new way.
Sakai 19 - was the old way (it was produced at the birth of LTI 1.3)
Sakai 20 - supported the old way and the new way - but there were a few other optional features that Sakai left incomplete in things like grade book integration
Sakai 21 - new way 100%, auto provisioning feature, and many little things polished up and many optional features supported based on extensive interaction with vendors like TurnitIn (Thanks)
But with that whole story - the moral of the story / TL;DR is to upgrade because Sakai 19 usually can be made to work - but Sakai 21 works like butta. And like I said - the tools held back that first year so they just waited until the bumps were all smoothed out. Sakai, Canvas, Moodle, and Blackboard went over every single bump :)
But things are good new. But I highly recommend If you upgrade to 21 or at least 20.3 and it will make your interaction with vendors around LTI 1.3 much more relaxing.
There are also some exciting and super useful things in the pipeline for LTI. Amazing stuff - it will make it into 22 and as long as I can back port it it will come out in 21, and 20. I have lined up the code in master, 21, and 20 to ease back porting - but Sakai 19 is starting to be difficult to back merge.
So the moral of the story is >= Sakai 20.3
/Chuck