Unicon / tool13demo

LTI 1.3 Java tool with Spring boot
Apache License 2.0
21 stars 17 forks source link

Google Classroom Classwork insertion (Deep Linking) and LTI launch #36

Open mgwozdz-unicon opened 1 year ago

mgwozdz-unicon commented 1 year ago

The Google Classroom adapter supports Classwork insertion (Deep Linking) and standard LTI launches from Google Classroom. It does not support grade passback or memberships (NRPS). The "registration" process is very much in the POC phase (see README).

Classwork Insertion (Deep Linking)

For this to work, I built a "home page" for the demo tool that can be reached in the browser at /app. Assuming everything's set up, you can select your Google Classroom class from the dropdown and click the button to kick off the deep linking request flow. This will send a request to the typical /oidc/login_initiations endpoint which will then respond to the new /app/platform-oidc-authorize endpoint which does some cursory validations and then constructs the Deep Linking id_token and sends it to the typical /lti3 endpoint. Now you should see the Deep Linking menu in your browser window and you can select one or more link(s) to insert into Google Classroom. This will send the deep linking response to the new /app/gccoursework/{gcCourseId} endpoint which will insert the links into the previously selected course in Google Classroom. API Call Summary:

LTI Core Standard Launch in Google Classroom

Now that your links have been inserted, they should take the form of /app/{gcLinkId}. If you click on one of those links, it should send a request to the typical /oidc/login_initiations endpoint which will then respond to the new /app/platform-oidc-authorize endpoint, which will generate a ResourceLink id_token and send it to the typical /lti3 but with the gcLinkId added as the link parameter. API Call Summary: