You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Implementation Guide for .NET API and React Frontend #196
Hi,
I am trying to find my way around the Library. I am building a custom LMS with .NET 9 as the API and React as the frontend.
I want to ask if anyone has a suggestion on how I can use this library to make my LMS LTI-compliant.
React lists courses and links and decides where a tool appears (iframe or new tab). To launch, it points an iframe at a server URL. It never builds LTI messages or signs anything.
The .NET side does the LTI work: OIDC login initiation, the authorize endpoint that signs the id_token (OpenIddict plus LtiAdvantage.Oidc in the sample), deep-link response validation, and the AGS/NRPS endpoints (LtiAdvantage.AspNetCore controller bases).
Serve React and the API from the same origin, or put them behind one, so the authorize endpoint inside the iframe sees the signed-in user's cookie.
When Deep Linking finishes, the platform's return page tells the React app with postMessage.
The README section "Using a React front end" has the details. Feel free to reopen if anything's unclear.
Activity
jeroenhabets commentedon Apr 22, 2026
@Akinnagbe as it says in the README.md:
And there is a Sample Platform LtiAdvantagePlatform from a long time ago that is woefully out of date but can still be useful for inspiration.
I assume you have looked into the info from 1EdTech/IMS Global, the organization behind LTI, e.g. LTI Advantage Overview, with their LTI Advantage Implementation Guide, and Reference Implementation
jeroenhabets commentedon Jun 22, 2026
@Akinnagbe did you manage to get it to work?
srijken commentedon Oct 28, 2026
The sample platform now has a React front end that shows this setup: LtiLibrary/LtiAdvantagePlatform#23.
In short, for an LMS with a .NET API and React:
id_token(OpenIddict plusLtiAdvantage.Oidcin the sample), deep-link response validation, and the AGS/NRPS endpoints (LtiAdvantage.AspNetCorecontroller bases).postMessage.The README section "Using a React front end" has the details. Feel free to reopen if anything's unclear.
Add a React front end sample (LtiLibrary/LtiAdvantage#196)