cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Community Member

Instructor Student View LTI and OAuth

Jump to solution

Instructor Student View appears to break most LTI and OAuth integrations.  Are there best practices to handle the student view?  It appears that lis_person_contact_email_primary field is blank that can make most LTIs break.  Is OAuth token process supported for the test student account? 

1 Solution

Accepted Solutions
Highlighted
Community Coach
Community Coach

Hello syed.alli@yale.edu Thank You for posting your question.  I *think* the reason that you cannot use the "Test Student" with LTIs is because the "Test Student" does not technically have an e-mail address associated with it.  For example, if you're using the Turnitin LTI and try and use the "Test Student", you'll get a message stating that it cannot find an e-mail address associated with that user.

I'm going to share your question with the Canvas Developers‌ group here in the Canvas Community in hopes that your question will get some additional feedback.  If you're not following this group, please use the link that I have provided, and then click on the "Follow" button at the top right corner of the screen.  Also, near that button is an "Actions" menu.  Go there, and then click on "Join group".

I hope this helps, Syed.

View solution in original post

8 Replies
Highlighted
Community Coach
Community Coach

Hello syed.alli@yale.edu Thank You for posting your question.  I *think* the reason that you cannot use the "Test Student" with LTIs is because the "Test Student" does not technically have an e-mail address associated with it.  For example, if you're using the Turnitin LTI and try and use the "Test Student", you'll get a message stating that it cannot find an e-mail address associated with that user.

I'm going to share your question with the Canvas Developers‌ group here in the Canvas Community in hopes that your question will get some additional feedback.  If you're not following this group, please use the link that I have provided, and then click on the "Follow" button at the top right corner of the screen.  Also, near that button is an "Actions" menu.  Go there, and then click on "Join group".

I hope this helps, Syed.

View solution in original post

Highlighted

Thank you Chris.  I figured it was the missing email.  I believe we can provide a test email, but than the issue becomes can we use the test student to get OAuth token? I will follow up with the Canvas Developers group. 

Highlighted
Learner II

If you are using the instructor student view, the LTI custom parameter Canvas.masqueradingUser.id will be set.  This alone won't let you know its the student view, but would let you LTI know its a masquerade.  There might be other LTI parameters that would help tie it down.  For example, lis_person_sourcedid seems to be missing for student view, but is there for an admin masquerading, so that might be a way of distinguishing the cases.

I don't think you can use the OAuth token process with student view -- I get "user not authorised to perform that action".

It does work when an admin is masquerading as another user.

Highlighted

Thanks Peter!

Highlighted

Hello,

I have the same issue, I cannot determine student view. canvas.instructure.com doesn't send any custom masquerad param and lis_result_sourcedid is not empty and it's not requred param

thanks

Highlighted

I have the same issue, I cannot determine student view. canvas.instructure.com doesn't send any custom masquerad param

Did you include in Custom Fields?  Eg., masq=$Canvas.masqueradingUser.id

and lis_result_sourcedid is not empty

Yes, that's there for an external assignment launch, but as above I still have lis_person_sourcedid missing.

Highlighted

Oh, I thought Canvas will add `masq` automatically. lis_person_sourcedid is not requred field and if I check student view by this field, I will not have guarantees that other lms will send me this param.

thanks.

Highlighted

What happens with a "student view" will depend on the LMS anyway.  So if you are wanting to handle this for various LMS, you need to look at which LMS is launching your tool anyway.  For Canvas, you can use tool_consumer_info_product_family_code