Canvas は、LTI (Learning Tools Interoperability) を使用してサード パーティの Web サイトに接続し、認証する学習管理システムです。
私たちはツールを書いています。キャンバスとシークレットを共有するサーバーが稼働しているため、メッセージを受信できます。ユーザーがリンクをクリックすると、ユーザー ID がサーバーに渡されます。コードを実行して、システムに成績を挿入する必要があります。Canvas には、そのようなことのための REST API があります。
https://canvas.instructure.com/doc/api/index.html
たとえば、コースを一覧表示するには、次のように使用します。
canvas.instructure.com/api/v1/courses
ただし、ユーザーは認証のためにクエリに oauth トークンを埋め込む必要があるため、これは失敗します。成績を書き込めるように、LTI はどのように承認を Canvas に返しますか?