LTI Integration Library 4.10.3
PHP class library for building LTI integrations
 
Loading...
Searching...
No Matches
ToolProvider Class Reference

Class to represent an LTI Tool Provider. More...

Inheritance diagram for ToolProvider:
Tool System ApiHook

Public Member Functions

 __construct ($dataConnector)
 Class constructor.
 
- Public Member Functions inherited from Tool
 __construct ($dataConnector=null)
 Class constructor.
 
 initialize ()
 Initialise the tool.
 
 save ()
 Save the tool to the database.
 
 delete ()
 Delete the tool from the database.
 
 getMessageParameters ($strictMode=false, $disableCookieCheck=false, $generateWarnings=false)
 Get the message parameters.
 
 handleRequest ($strictMode=false, $disableCookieCheck=false, $generateWarnings=false)
 Process an incoming request.
 
 setParameterConstraint ($name, $required=true, $maxLength=null, $messageTypes=null)
 Add a parameter constraint to be checked on launch.
 
 getConsumers ()
 Get an array of defined tool consumers.
 
 getPlatforms ()
 Get an array of defined platforms.
 
 findService ($format, $methods)
 Find an offered service based on a media type and HTTP action(s)
 
 doToolProxyService ()
 Send the tool proxy to the platform.
 
- Public Member Functions inherited from System
 getRecordId ()
 Get the system record ID.
 
 setRecordId ($id)
 Sets the system record ID.
 
 getKey ()
 Get the consumer key.
 
 setKey ($key)
 Set the consumer key.
 
 getSetting ($name, $default='')
 Get a setting value.
 
 setSetting ($name, $value=null)
 Set a setting value.
 
 getSettings ()
 Get an array of all setting values.
 
 setSettings ($settings)
 Set an array of all setting values.
 
 saveSettings ()
 Save setting values.
 
 hasJwt ()
 Check whether a JWT exists.
 
 getJwt ()
 Get the JWT.
 
 getRawParameters ()
 Get the raw POST parameters.
 
 getMessageClaims ($fullyQualified=false)
 Get the message claims.
 
 signParameters ($url, $type, $version, $params)
 Add the signature to an LTI message.
 
 signMessage (&$url, $type, $version, $params, $loginHint=null, $ltiMessageHint=null)
 Add the signature to an LTI message.
 
 sendMessage ($url, $type, $messageParams, $target='', $userId=null, $hint=null)
 Generate a web page containing an auto-submitted form of LTI message parameters.
 
 signServiceRequest ($url, $method, $type, $data=null)
 Generates the headers for an LTI service request.
 
 doServiceRequest ($service, $method, $format, $data)
 Perform a service request.
 
 useOAuth1 ()
 Determine whether this consumer is using the OAuth 1 security model.
 
 addSignature ($endpoint, $data, $method='POST', $type=null, $nonce='', $hash=null, $timestamp=null)
 Add the signature to an array of message parameters or to a header string.
 
 checkMessage ()
 Verify the required properties of an LTI message.
 
 verifySignature ()
 Verify the signature of a message.
 

Data Fields

const LTI_VERSION1 = 'LTI-1p0'
 LTI version 1 for messages.
 
const LTI_VERSION2 = 'LTI-2p0'
 LTI version 2 for messages.
 
- Data Fields inherited from Tool
const CONNECTION_ERROR_MESSAGE = 'Sorry, there was an error connecting you to the application.'
 Default connection error message.
 
const ID_SCOPE_ID_ONLY = 0
 Use ID value only.
 
const ID_SCOPE_GLOBAL = 1
 Prefix an ID with the consumer key.
 
const ID_SCOPE_CONTEXT = 2
 Prefix the ID with the consumer key and context ID.
 
const ID_SCOPE_RESOURCE = 3
 Prefix the ID with the consumer key and resource ID.
 
const ID_SCOPE_SEPARATOR = ':'
 Character used to separate each element of an ID.
 
 $consumer = null
 Tool consumer object.
 
 $platform = null
 Platform object.
 
 $returnUrl = null
 Return URL provided by platform.
 
 $userResult = null
 UserResult object.
 
 $resourceLink = null
 Resource link object.
 
 $context = null
 Context object.
 
 $defaultEmail = ''
 Default email domain.
 
 $idScope = self::ID_SCOPE_ID_ONLY
 Scope to use for user IDs.
 
 $allowSharing = false
 Whether shared resource link arrangements are permitted.
 
 $message = null
 Message for last request processed.
 
 $baseUrl = null
 Base URL for tool service.
 
 $vendor = null
 Vendor details.
 
 $product = null
 Product details.
 
 $requiredServices = null
 Services required by Tool.
 
 $optionalServices = null
 Optional services used by Tool.
 
 $resourceHandlers = null
 Resource handlers for Tool.
 
 $messageUrl = null
 Message URL for Tool.
 
 $initiateLoginUrl = null
 Initiate Login request URL for Tool.
 
 $redirectionUris = null
 Redirection URIs for Tool.
 
- Data Fields inherited from System
 $ok = true
 True if the last request was successful.
 
 $ltiVersion = null
 LTI version.
 
 $name = null
 Local name of platform/tool.
 
 $secret = null
 Shared secret.
 
 $signatureMethod = 'HMAC-SHA1'
 Method used for signing messages.
 
 $encryptionMethod = ''
 Algorithm used for encrypting messages.
 
 $dataConnector = null
 Data connector object.
 
 $rsaKey = null
 RSA key in PEM or JSON format.
 
 $requiredScopes = array()
 Scopes to request when obtaining an access token.
 
 $kid = null
 Key ID.
 
 $jku = null
 Endpoint for public key.
 
 $reason = null
 Error message for last request processed.
 
 $details = array()
 Details for error message relating to last request processed.
 
 $warnings = array()
 Warnings relating to last request processed.
 
 $debugMode = false
 Whether debug level messages are to be reported.
 
 $enabled = false
 Whether the system instance is enabled to accept connection requests.
 
 $enableFrom = null
 Timestamp from which the the system instance is enabled to accept connection requests.
 
 $enableUntil = null
 Timestamp until which the system instance is enabled to accept connection requests.
 
 $lastAccess = null
 Timestamp for date of last connection to this system.
 
 $created = null
 Timestamp for when the object was created.
 
 $updated = null
 Timestamp for when the object was last updated.
 

Additional Inherited Members

- Static Public Member Functions inherited from Tool
static sendForm ($url, $params, $target='')
 Generate a web page containing an auto-submitted form of parameters.
 
static fromConsumerKey ($key=null, $dataConnector=null, $autoEnable=false)
 Load the tool from the database by its consumer key.
 
static fromInitiateLoginUrl ($initiateLoginUrl, $dataConnector=null, $autoEnable=false)
 Load the tool from the database by its initiate login URL.
 
static fromRecordId ($id, $dataConnector)
 Load the tool from the database by its record ID.
 
- Static Public Member Functions inherited from System
static parseRoles ($roles, $ltiVersion=Util::LTI_VERSION1, $addPrincipalRole=false)
 Parse a set of roles to comply with a specified version of LTI.
 
- Static Public Member Functions inherited from ApiHook
static registerApiHook ($hookName, $familyCode, $className)
 Register the availability of an API hook.
 
- Static Public Attributes inherited from Tool
static $MESSAGE_TYPES
 List of supported incoming message types.
 
static $defaultTool = null
 Default tool for use with service requests.
 
static $authenticateUsingGet = false
 Use GET method for authentication request messages when true.
 
static $stateLife = 10
 Life in seconds for the state value issued during the OIDC login process.
 
static $postMessageTimeoutDelay = 20
 Period in milliseconds to wait for a response to a postMessage.
 
- Static Public Attributes inherited from ApiHook
static $USER_ID_HOOK = "UserId"
 User Id hook name.
 
static $CONTEXT_ID_HOOK = "ContextId"
 Context Id hook name.
 
static $GROUPS_SERVICE_HOOK = "Groups"
 Course Groups service hook name.
 
static $MEMBERSHIPS_SERVICE_HOOK = "Memberships"
 Memberships service hook name.
 
static $OUTCOMES_SERVICE_HOOK = "Outcomes"
 Outcomes service hook name.
 
static $TOOL_SETTINGS_SERVICE_HOOK = "ToolSettings"
 Tool Settings service hook name.
 
static $ACCESS_TOKEN_SERVICE_HOOK = "AccessToken"
 Access Token service hook name.
 
- Protected Member Functions inherited from Tool
 onLaunch ()
 Process a valid launch request.
 
 onConfigure ()
 Process a valid configure request.
 
 onDashboard ()
 Process a valid dashboard request.
 
 onContentItem ()
 Process a valid content-item request.
 
 onContentItemUpdate ()
 Process a valid content-item update request.
 
 onSubmissionReview ()
 Process a valid submission review request.
 
 onRegister ()
 Process a valid tool proxy registration request.
 
 onRegistration ()
 Process a dynamic registration request.
 
 onLtiStartProctoring ()
 Process a valid start proctoring request.
 
 onLtiEndAssessment ()
 Process a valid end assessment request.
 
 onInitiateLogin ($requestParameters, &$authParameters)
 Process a login initiation request.
 
 onAuthenticate ($state, $nonce, $usePlatformStorage)
 Process response to an authentication request.
 
 onResetSessionId ()
 Process a change in the session ID.
 
 onError ()
 Process a response to an invalid request.
 
 getPlatformConfiguration ()
 Fetch a platform's configuration data.
 
 getConfiguration ($platformConfig)
 Prepare the tool's configuration data.
 
 sendRegistration ($platformConfig, $toolConfig)
 Send the tool registration to the platform.
 
 getPlatformToRegister ($platformConfig, $registrationConfig, $doSave=true)
 Initialise the platform to be registered.
 
 getRegistrationResponsePage ($toolConfig)
 Prepare the page to complete a registration request.
 
- Protected Attributes inherited from Tool
 $redirectUrl = null
 URL to redirect user to on successful completion of the request.
 
 $mediaTypes = null
 Media types accepted by the platform.
 
 $contentTypes = null
 Content item types accepted by the platform.
 
 $fileTypes = null
 File types accepted by the platform.
 
 $documentTargets = null
 Document targets accepted by the platform.
 
 $output = null
 Default HTML to be displayed on a successful completion of the request.
 
 $errorOutput = null
 HTML to be displayed on an unsuccessful completion of the request and no return URL is available.
 
- Protected Attributes inherited from System
 $jwt = null
 JWT ClientInterface object.
 
 $rawParameters = null
 Raw message parameters.
 
 $messageParameters = null
 LTI message parameters.
 

Detailed Description

Class to represent an LTI Tool Provider.

Deprecated:
Use Tool instead
See also
Tool
Author
Stephen P Vickers steph.nosp@m.en@s.nosp@m.pvsof.nosp@m.twar.nosp@m.eprod.nosp@m.ucts.nosp@m..com
Licence: http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3

Definition at line 19 of file ToolProvider.php.

Constructor & Destructor Documentation

◆ __construct()

__construct (   $dataConnector)

Class constructor.

Parameters
DataConnector$dataConnectorObject containing a database connection object

Reimplemented from Tool.

Definition at line 43 of file ToolProvider.php.

References System\$dataConnector, and Util\logDebug().

Field Documentation

◆ LTI_VERSION1

const LTI_VERSION1 = 'LTI-1p0'

LTI version 1 for messages.

Deprecated:
Use Util::LTI_VERSION1 instead
See also
Util::LTI_VERSION1

Definition at line 28 of file ToolProvider.php.

◆ LTI_VERSION2

const LTI_VERSION2 = 'LTI-2p0'

LTI version 2 for messages.

Deprecated:
Use Util::LTI_VERSION2 instead
See also
Util::LTI_VERSION2

Definition at line 36 of file ToolProvider.php.


The documentation for this class was generated from the following file: