Hi Everyone! I just thought I'd say hello on this thread because I, too, am a java developer with existing tools (on LTI 1.1) and am seeking to update to LTI 1.3. (Our institution is in the process of moving to Canvas, and I'm updating my tools at the same time.).
As a first step, just to help with my learning, I used the IMS Global's LTI 1.3 Reference Implementation to create a "dummy platform" and "dummy tool" and got them talking to each other successfully. (confession, that took me the better part of a day because I had to slow down and get acquainted with all the configuration options!). I also highly recommend this video. I watched it twice!! https://www.youtube.com/watch?v=qHStELNsYyI
As a second step, I'm very grateful for the library above. Thank you Matt! I downloaded it from github and got it running. I don't usually use Spring Boot either, but, the whole LTI 1.3 process is more complicated than my whole LTI app, so, it's easier for me to rewrite my app from scratch based on a working LTI template than it is for me to start over with LTI in my existing app's structure.
So, building off my experience above, my goal is to get the "dummy platform" talking instead to the spring-security-lti-demo. I don't quite have it working because the IMS reference implementation is giving me an unhelpful Rails error. So, I'm watching lots of nerdy technical talks to teach me about Oauth2 and I'm combing through the http parameters at each step of the launch flow.
For me, it's failing on the authorization request step, where it's trying to go back to OIDC Auth URL (https://lti-ri.imsglobal.org/platforms/xxxx/authorizations/new). It's an HTTP 500 Internal Server Error on the IMS Reference implementation side (the "dummy platform"). I'm quadruple checking the public and private keys, etc, but have not yet figured it out.
Anyway, if there's community here of others in a similar situation, I'd be very happy to share experiences. Even if we get stuck at different steps, it helps to learn the stuff overall with others!
Steph