Canvas - это система управления обучением, которая использует LTI (взаимодействие средств обучения) для подключения к сторонним веб-сайтам и аутентификации.
Мы пишем инструмент. У нас есть рабочий сервер, который делится секретом с холстом и поэтому может получать сообщения. Когда пользователь нажимает на ссылку, идентификатор пользователя передается на сервер. Мы можем выполнить наш код, а затем, когда мы вернемся, мы захотим вставить оценку в систему. У Canvas есть REST API для таких вещей:
https://canvas.instructure.com/doc/api/index.html
Например, чтобы перечислить курсы, которые мы будем использовать:
canvas.instructure.com/api/v1/courses
Однако это не удастся, потому что пользователь должен встроить токен oauth в запросе на аутентификацию. Как LTI передает авторизацию обратно в Canvas, чтобы мы могли выставить оценку?