Hello everyone,
I recently discovered LTI and found it a bit challenging to get started, especially regarding the Launch Flow.
Here is my use case. I am developing a mobile app, where the user can play certain games and unlock educational content. So, the user launches the app, from his phone, logs in using his moodle credentials and plays the game.
My understanding of Moodle (or LMS platforms in general) is that the preferred way is to create an External Tool and communicate using LTI 1.3. So, as I imagine, the app would have a "Login with Moodle" button that starts the oAUTH dance to authenticate the user and the app receives the JWT. Then, the app would be able to retrieve user information, updates grades, etc. However, since the app still needs a custom backend (e.g. for analytics, and other game related data). The JWT token would be sent to the server with each request, who will then perform LTI specific API calls.
When researching about LTI, it seems that the most common use case is that the user launches the external tool from the LMS itself (LTI Launch Flow?). Here, however, I need that the flow gets initiated from a third-party, since it is a mobile app, which would be via oAUTH 2 or OpenID.
Do I understand the specification correctly or is the "launch from third-party directly" something that is not supported when using LTI?
Ralph