Hi Folks,
I found this thread is very informative and helpful.
Hope you can shed some light on the Canvas API Authentication issues that I am facing. The university wants to develop a LTI tool to help a course instructor add a TA/student to the course site without violating the FERPA rule. (For Example, an undergraduate can't be the TA of the course.) The university doesn't want the instructor to add a course participant by using the "+People" button because of the FERPA rule.
When an instructor launches the LTI tool, the tool inherits the instructor's API permissions. An access token is generated by following the
Oauth2 Flow for this instructor.
However the instructor permission doesn't allow him/her to get the new participant's user information in Canvas(canvas internal id, etc. the canvas internal id is needed to enroll the new participant to the course). That's because the permission of getting any Canvas user's information is at the account level. An instructor's role is at the course level.
I am considering setting up a functional user (with permissions and account scope set according to need) and let the function user to go through the Oauth2 Flow to get the access token in order to call the Canvas API to get the new participant's information.
However this functional user still needs to go through the human interaction to authorize the app to access his account. Is there a way to bypass the human interaction menu to authorize the access? I have attached a screen shot.
Alternatively, I can generate an access token for this functional user to avoid jumping through the Oauth2 hoops. This LTI tool is hosted in the private cloud. According to your experience, how big is the security risk?
Thanks so much for reading my email,
Best,
-Kim