Class to represent an LTI Tool Provider. More...
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. | |
Class to represent an LTI Tool Provider.
Definition at line 19 of file ToolProvider.php.
| __construct | ( | $dataConnector | ) |
Class constructor.
| DataConnector | $dataConnector | Object containing a database connection object |
Reimplemented from Tool.
Definition at line 43 of file ToolProvider.php.
References System\$dataConnector, and Util\logDebug().
| const LTI_VERSION1 = 'LTI-1p0' |
LTI version 1 for messages.
Definition at line 28 of file ToolProvider.php.
| const LTI_VERSION2 = 'LTI-2p0' |
LTI version 2 for messages.
Definition at line 36 of file ToolProvider.php.