Fix URL for updating a line item #89.
Validate scopes before a request #86.
Add AssignmentGradesService::deleteLineitem()
to update a line item #83.
Add AssignmentGradesService::updateLineitem()
to update a line item #58.
Add AssignmentGradesService::getLineItem()
to fetch a single line item #47.
Implemented several changes to comply with (OpenID Connect Core)[https://openid.net/specs/openid-connect-core-1_0.html]. Nonce validation changed such that it now verifies that the nonce and state associated with an LTI Message Launch request matches the state associated with the nonce and state created during the OIDC login request.
- Implement cryptographically secure methods for generating cookies and nonces for OIDC login requests.
- Fix an issue with nonce validation not checking against the value in the Authentication Request.
- Add stricter typing to
ICache
andICookie
. - Rename the
ICache::getNonce()
method toICache::checkNonceIsValid()
. - Improve how line items are fetched and created when putting a grade to a line item. (#44)
Updated the ImsCache to properly retrieve the nonce and request body. (#40)
Fixed a typing error when the response body of a request is null. (#39)
- Updated
LtiMessageLaunch
to fetch JWKs via an HTTP client instead offile_get_contents()
. (#38) - Added new methods to
ILtiServiceConnector
:makeRequest()
,getRequestBody()
. (#38)
- Allowed
getGrades()
to be called without a line item. (#34) - Fixed fetching of line items and eliminated a PHP warning for missing key. (#35)
- Included the
resourceLinkId
attribute when creating a line item. (#36)
- Added a new method to
ILtiServiceConnector
:setDebuggingMode()
. (#32)
- Added response/request logging to
LtiServiceConnector
. (#31)
Note: Upgrade to 4.0.0 for this logging to be disabled by default.
- Fixed grades with a score of 0 not being synced. (#30)
- Fixed a few minor errors related to array indexes. (#27, #28, #29)
- Increased test coverage on the LtiMessageLaunch. (#28)
- Added a new method to
ICache
:clearAccessToken()
. - Modified the constructor arguments for
LtiServiceConnector
,LtiAssignmentGradesService
,LtiCourseGroupsService
, andLtiNamesRolesProvisioningService
.
- Made an optimization to the logic added in 2.0.2. (#19)
- Fixed pagination of lineitems in the
LtiAssignmentGradesService
and makes it possible to get all lineitems with a single function call. (#17)
- Fixed a bug in the
LtiServiceConnector
that was causing double-encoded JSON to be sent in POST bodies, introduced in 2.0.0. (#15)
- A standard naming convention was implemented for all interfaces.
- Added two new methods to
ICache
:cacheAccessToken()
andgetAccessToken()
. - Optimized how the
LtiServiceConnector
caches access tokens to reduce the likelihood of being rate limited by Canvas.
For upgrading from 1.0 to 2.0, view the Upgrade Guide
- Added a
text
parameter toLtiDeepLinkResource
(#5)
- Added a custom Canvas extension to
LtiGrade
(#3)
- Initial release. View the Laravel Implementation Guide.