Version 5.0 introduced changes to the Packback\Lti1p3\Interfaces\ICache
interface.
- The method
checkNonce()
was renamed tocheckNonceIsValid()
. - A second required argument (
$state
) was added to thecacheNonce()
andcheckNonceIsValid()
methods. - Stricter typing was introduced for several methods:
getLaunchData
,cacheLaunchData
,cacheNonce
,cacheAccessToken
,getAccessToken
, andclearAccessToken
.
Stricter typing was added to methods on several interfaces.
- On
ICache
the following methods are now more strictly typed:getLaunchData
,cacheLaunchData
,cacheNonce
,cacheAccessToken
,getAccessToken
, andclearAccessToken
. - On
ICookie
the following methods are now more strictly typed:getCookie
, andsetCookie
.
Arguments and return types are now strictly typed for methods on the cache and cookie interfaces. Custom implementations of these objects should be updated to adhere to the new typing requirements. View the interface definitions for Packback\Lti1p3\Interfaces\ICache
and Packback\Lti1p3\Interfaces\ICookie
to see specific typing requirements.
Version 4.0 introduced changes to the Packback\Lti1p3\Interfaces\ILtiServiceConnector
interface, adding the following methods:
setDebuggingMode()
makeRequest()
getRequestBody()
Version 3.0 introduced changes to the Packback\Lti1p3\Interfaces\ICache
interface, adding one method: clearAccessToken()
. This method must be implemented to any custom implementations of the interface. The Laravel Implementation Guide contains an example.
The Packback\Lti1p3\LtiServiceConnector
now uses Guzzle instead of curl to make requests. This puts control of this client and its configuration in the hands of the developer. The section below contains information on implementing this change.
The implementation of the Packback\Lti1p3\LtiServiceConnector
changed to act as a general API Client for the various LTI service (Assignment Grades, Names Roles Provisioning, etc.) Specifically, the constructor for the following classes now accept different arguments:
LtiAssignmentGradesService
LtiCourseGroupsService
LtiNamesRolesProvisioningService
LtiServiceConnector
The LtiServiceConnector
now only accepts an ICache
and GuzzleHttp\Client
, and does not need an ILtiRegistration
. The Laravel Implementation Guide contains an example of how to implement the service connector and configure the client.
The other LTI services now accept an ILtiServiceConnector
, ILtiRegistration
, and $serviceData
(the registration was added as a new argument since it is no longer required for the LtiServiceConnector
).
A standard naming convention was implemented for interfaces: Packback\Lti1p3\Interfaces\IObject
. Any implementations of these interfaces should be renamed:
Cache
toICache
Cookie
toICookie
Database
toIDatabase
LtiRegistrationInterface
toILtiRegistration
LtiServiceConnectorInterface
toILtiServiceConnector
MessageValidator
toIMessageValidator
Version 2.0 introduced changes to the Packback\Lti1p3\Interfaces\ICache
interface, adding two new methods: cacheAccessToken()
and getAccessToken()
. These methods must be implemented to any custom implementations of the interface. The Laravel Implementation Guide contains an example.