groton-school/slim-canvas-api-proxy 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

groton-school/slim-canvas-api-proxy

最新稳定版本:2.1.1

Composer 安装命令:

composer require groton-school/slim-canvas-api-proxy

包简介

README 文档

README

Server-side actions and routes for authenticating to and accessing the Canvas LMS API from a web client

Latest Version

Install

composer require groton-school/slim-canvas-api-proxy

Use

This is an implementation of groton-school/slim-oauth2-api-proxy. This provides a server-side proxy to the Canvas LMS API for a web app (which would not normally be able to directly call an API hosted on another domain due to CORS restrictions). The canonical example of how to use this is groton-school/slim-skeleton's gae/lti-tool_canvas-api-proxy branch.

One significant caution, however, is that the LTI is not portable across all three Canvas instances (Production, Beta, Test) without thoughtful configuration. The logic of this is clear: Test or Beta have no way of knowing that Production issued a valid API token to this user. Moreover, Test and Beta may well have older, less complete, or differently updated data than Production, causing 404 errors (at best).

One approach to this is to leverage the HTTP_ORIGIN header, although doing this while also dancing the third-party cookie dance to get sessions set up is a little tricky. An example of this can be found in the Planner LTI. In this case, when the HTTP_ORIGIN header is available but also while we are in the LTI launch-initiated PHP session we store the provided HTTP_ORIGIN in the session for future use when it will not be provided (e.g. by a JavaScript call to the API Proxy.)

Of particular note is the closing line of the definition which closes the session that was manually opened, potentially so that groton-school/slim-lti-partititoned-session can reopen it as part of the middleware stack.

统计信息

  • 总下载量: 192
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0
  • 更新时间: 2025-08-16