Implement LTI Advantage NRPS GET request#1649
Merged
Merged
Conversation
- fix error for no cuds for non-admin instructor
…uest via Client-Credentials Grant - Add lti_context_membership_url to course_user_data to store NRPS course membership url for NRPS requests - Add placehold frontend to initiate requests
- remove amount of parameters sent to users controller
6 tasks
Member
damianhxy
requested changes
Nov 26, 2022
damianhxy
left a comment
Member
There was a problem hiding this comment.
Generally lgtm, however unlink_course is currently vulnerable to CSRF attacks.
Left several comments, mostly consisting of nits
damianhxy
reviewed
Nov 27, 2022
damianhxy
approved these changes
Nov 27, 2022
damianhxy
left a comment
Member
There was a problem hiding this comment.
Changes look good, left one last comment but otherwise lgtm!
2 tasks
1 task
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Description
lti_nrps_controller.rbvalidate_jwt_signatureinlti_launch_controllerto call theplatform_public_jwks_urlif the configuration variable is set, to pull platform public jwks from an endpoint to get all possible public keys to verify the ID Token JWT from the platform.env.templateto store Autolab's private key if on productionlti_launch_initializein users_controller to handle launching course linking pagelti_launch_initialize.html.erblti_launch_link_coursein users_controller to create a LtiCourseDatum representing the link between an LTI course and an Autolab courseLtiCourseDatumtable to store course_id, context_id, last_synced, and membership_url to store data necessary for link between LTI course and Autolab coursePlease take a look at the LMS Integration Design Doc, NRPS Query for more details.
How Has This Been Tested?
cp lti_settings.yml.template lti_settings.ymllti_settings.ymlfor developmentplatform_public_jwks_url,platform_oauth2_access_token_url, andtool_private_keyas these are all set up to work with the LTI testing tool
- After linking, you should get a confirmation flash
- Click the refresh buttonNOTE: some things cannot be tested on the LTI Reference tool, such as filtering only for students, and for testing of pagination. These settings can only really be tested on Nightly with CMU Canvas as the platform.
Types of changes
Checklist:
overcommit --install && overcommit --signto use pre-commit hook for lintingOther issues / help required
If unsure, feel free to submit first and we'll help you along.