Class to represent a platform. More...
Public Member Functions | |
__construct (?DataConnector $dataConnector=null) | |
Class constructor. | |
void | initialize () |
Initialise the platform. | |
void | initialise () |
Initialise the platform. | |
bool | save () |
Save the platform to the database. | |
bool | delete () |
Delete the platform from the database. | |
string null | getId () |
Get the platform ID. | |
string | getFamilyCode () |
Get platform family code (as reported by last platform connection). | |
DataConnector null | getDataConnector () |
Get the data connector. | |
AccessToken null | getAccessToken () |
Get the authorization access token. | |
void | setAccessToken (AccessToken $accessToken) |
Set the authorization access token. | |
bool | getIsAvailable () |
Is the platform available to accept launch requests? | |
bool | hasToolSettingsService () |
Check if the Tool Settings service is supported. | |
array bool | getToolSettings (bool $simple=true) |
Get Tool Settings. | |
bool | setToolSettings (array $settings=[]) |
Set Tool Settings. | |
array | getTools () |
Get an array of defined tools. | |
bool | hasAccessTokenService () |
Check if the Access Token service is supported. | |
array null | getMessageParameters () |
Get the message parameters. | |
void | handleRequest (bool $generateWarnings=false) |
Process an incoming request. | |
![]() | |
int string null | getRecordId () |
Get the system record ID. | |
void | setRecordId (int|string|null $id) |
Sets the system record ID. | |
string null | getKey () |
Get the consumer key. | |
void | setKey (?string $key) |
Set the consumer key. | |
string null | getSetting (string $name, ?string $default='') |
Get a setting value. | |
void | setSetting (string $name, string|array|null $value=null) |
Set a setting value. | |
array | getSettings () |
Get an array of all setting values. | |
void | setSettings (array $settings) |
Set an array of all setting values. | |
bool | saveSettings () |
Save setting values. | |
bool | hasJwt () |
Check whether a JWT exists. | |
ClientInterface | getJwt () |
Get the JWT. | |
array | getRawParameters () |
Get the raw POST parameters. | |
array | getMessageClaims (bool $fullyQualified=false) |
Get the message claims. | |
array string | signParameters (string $url, string $type, string $ltiVersionString, array $params) |
Add the signature to an LTI message. | |
array string | signMessage (string &$url, string $type, string $ltiVersionString, array $params, ?string $loginHint=null, ?string $ltiMessageHint=null) |
Add the signature to an LTI message. | |
string | sendMessage (string $url, string $type, array $messageParams, string $target='', ?string $userId=null, ?string $hint=null) |
Generate a web page containing an auto-submitted form of LTI message parameters. | |
array string | signServiceRequest (string $url, string $method, string $type, array|string|null $data=null) |
Generates the headers for an LTI service request. | |
HttpMessage | doServiceRequest (ServiceDefinition $service, string $method, string $format, array|string $data) |
Perform a service request. | |
bool | useOAuth1 () |
Determine whether this consumer is using the OAuth 1 security model. | |
array string | addSignature (string $endpoint, array|string|null $data, string $method='POST', ?string $type=null, ?string $nonce='', ?string $hash=null, ?int $timestamp=null) |
Add the signature to an array of message parameters or to a header string. | |
string null | getBaseString () |
Get the last signature base string. | |
bool | checkMessage (bool $generateWarnings=false) |
Verify the required properties of an LTI message. | |
bool | verifySignature () |
Verify the signature of a message. | |
bool | setReason (string $reason) |
Set the error reason. | |
Static Public Member Functions | |
static Platform | fromConsumerKey (?string $key=null, ?DataConnector $dataConnector=null, bool $autoEnable=false) |
Load the platform from the database by its consumer key. | |
static Platform | fromPlatformId (string $platformId, ?string $clientId, ?string $deploymentId, ?DataConnector $dataConnector=null, bool $autoEnable=false) |
Load the platform from the database by its platform, client and deployment IDs. | |
static Platform | fromRecordId (int|string $id, DataConnector $dataConnector) |
Load the platform from the database by its record ID. | |
static string | getStorageJS () |
Get the JavaScript for handling storage postMessages from a tool. | |
![]() | |
static array | parseRoles (array|string $roles, LtiVersion $ltiVersion=LtiVersion::V1, bool $addPrincipalRole=false) |
Parse a set of roles to comply with a specified version of LTI. | |
![]() | |
static void | registerApiHook (string $hookName, string $familyCode, string $className) |
Register the availability of an API hook. | |
Public Attributes | |
string | $platformId = null |
Platform ID. | |
string | $clientId = null |
Client ID. | |
string | $deploymentId = null |
Deployment ID. | |
string | $authorizationServerId = null |
Authorization server ID. | |
string | $authenticationUrl = null |
Login authentication URL. | |
string | $accessTokenUrl = null |
Access Token service URL. | |
string | $consumerName = null |
Name of platform (as reported by last platform connection). | |
string | $consumerVersion = null |
Platform version (as reported by last platform connection). | |
object | $profile = null |
The platform profile data. | |
string | $toolProxy = null |
The tool proxy. | |
string | $consumerGuid = null |
Platform GUID (as reported by first platform connection). | |
string | $cssPath = null |
Optional CSS path (as reported by last platform connection). | |
bool | $protected = false |
Whether the platform instance is protected by matching the consumer_guid value in incoming requests. | |
string | $defaultEmail = '' |
Default email address (or email domain) to use when no email address is provided for a user. | |
HttpMessage | $lastServiceRequest = null |
HttpMessage object for last service request. | |
![]() | |
bool | $ok = true |
True if the last request was successful. | |
LtiVersion | $ltiVersion = null |
LTI version. | |
string | $name = null |
Local name of platform/tool. | |
string | $secret = null |
Shared secret. | |
string | $signatureMethod = 'HMAC-SHA1' |
Method used for signing messages. | |
string | $encryptionMethod = '' |
Algorithm used for encrypting messages. | |
DataConnector | $dataConnector = null |
Data connector object. | |
string | $rsaKey = null |
RSA key in PEM or JSON format. | |
array | $requiredScopes = [] |
Scopes to request when obtaining an access token. | |
string | $kid = null |
Key ID. | |
string | $jku = null |
Endpoint for public key. | |
string | $reason = null |
Error message for last request processed. | |
array | $details = [] |
Details for error message relating to last request processed. | |
array | $warnings = [] |
Warnings relating to last request processed. | |
bool | $debugMode = false |
Whether debug level messages are to be reported. | |
bool | $enabled = false |
Whether the system instance is enabled to accept connection requests. | |
int | $enableFrom = null |
Timestamp from which the the system instance is enabled to accept connection requests. | |
int | $enableUntil = null |
Timestamp until which the system instance is enabled to accept connection requests. | |
int | $lastAccess = null |
Timestamp for date of last connection to this system. | |
int | $created = null |
Timestamp for when the object was created. | |
int | $updated = null |
Timestamp for when the object was last updated. | |
IdScope | $idScope = IdScope::IdOnly |
Default scope to use when generating an Id value for a user. | |
Static Public Attributes | |
static array | $MESSAGE_TYPES |
List of supported incoming message types. | |
static string | $browserStorageFrame = null |
Name of browser storage frame. | |
![]() | |
static string | $USER_ID_HOOK = "UserId" |
User Id hook name. | |
static string | $CONTEXT_ID_HOOK = "ContextId" |
Context Id hook name. | |
static string | $GROUPS_SERVICE_HOOK = "Groups" |
Course Groups service hook name. | |
static string | $MEMBERSHIPS_SERVICE_HOOK = "Memberships" |
Memberships service hook name. | |
static string | $OUTCOMES_SERVICE_HOOK = "Outcomes" |
Outcomes service hook name. | |
static string | $TOOL_SETTINGS_SERVICE_HOOK = "ToolSettings" |
Tool Settings service hook name. | |
static string | $ACCESS_TOKEN_SERVICE_HOOK = "AccessToken" |
Access Token service hook name. | |
Protected Member Functions | |
void | onInitiateLogin (string &$url, string &$loginHint, ?string &$ltiMessageHint, array $params) |
Save the hint and message parameters when sending an initiate login request. | |
void | onAuthenticate () |
Check the hint and recover the message parameters for an authentication request. | |
void | onContentItem () |
Process a valid content-item message. | |
void | onLtiStartAssessment () |
Process a valid start assessment message. | |
void | onError () |
Process a response to an invalid message. | |
Additional Inherited Members | |
![]() | |
ClientInterface | $jwt = null |
JWT ClientInterface object. | |
array | $rawParameters = null |
Raw message parameters. | |
array | $messageParameters = null |
LTI message parameters. | |
Class to represent a platform.
ceLTIc\LTI\Platform::__construct | ( | ?DataConnector | $dataConnector = null | ) |
Class constructor.
DataConnector | null | $dataConnector | A data connector object |
bool ceLTIc\LTI\Platform::delete | ( | ) |
Delete the platform from the database.
References $consumerVersion.
|
static |
Load the platform from the database by its consumer key.
string | null | $key | Consumer key |
DataConnector | $dataConnector | A data connector object |
bool | $autoEnable | True if the platform is to be enabled automatically (optional, default is false) |
|
static |
Load the platform from the database by its platform, client and deployment IDs.
string | $platformId | The platform ID |
string | null | $clientId | The client ID |
string | null | $deploymentId | The deployment ID |
DataConnector | $dataConnector | A data connector object |
bool | $autoEnable | True if the platform is to be enabled automatically (optional, default is false) |
|
static |
Load the platform from the database by its record ID.
int | string | $id | The platform record ID |
DataConnector | $dataConnector | A data connector object |
AccessToken null ceLTIc\LTI\Platform::getAccessToken | ( | ) |
Get the authorization access token.
References getFamilyCode(), and ceLTIc\LTI\System\getSetting().
DataConnector null ceLTIc\LTI\Platform::getDataConnector | ( | ) |
Get the data connector.
References ceLTIc\LTI\System\$ok.
string ceLTIc\LTI\Platform::getFamilyCode | ( | ) |
Get platform family code (as reported by last platform connection).
Referenced by getAccessToken(), and hasToolSettingsService().
string null ceLTIc\LTI\Platform::getId | ( | ) |
Get the platform ID.
The ID will be the consumer key if one exists, otherwise a concatenation of the platform/client/deployment IDs
References ceLTIc\LTI\System\$dataConnector.
bool ceLTIc\LTI\Platform::getIsAvailable | ( | ) |
Is the platform available to accept launch requests?
References ceLTIc\LTI\System\$ok, and ceLTIc\LTI\System\getSetting().
array null ceLTIc\LTI\Platform::getMessageParameters | ( | ) |
Get the message parameters.
|
static |
Get the JavaScript for handling storage postMessages from a tool.
array ceLTIc\LTI\Platform::getTools | ( | ) |
Get an array of defined tools.
References ceLTIc\LTI\Util\$logLevel, and ceLTIc\LTI\Util\getRequestParameters().
array bool ceLTIc\LTI\Platform::getToolSettings | ( | bool | $simple = true | ) |
Get Tool Settings.
bool | $simple | True if all the simple media type is to be used (optional, default is true) |
References ceLTIc\LTI\System\$ok.
void ceLTIc\LTI\Platform::handleRequest | ( | bool | $generateWarnings = false | ) |
Process an incoming request.
bool | $generateWarnings | True if warning messages should be generated (optional, default is false) |
References ceLTIc\LTI\System\$dataConnector, and ceLTIc\LTI\System\$ok.
bool ceLTIc\LTI\Platform::hasAccessTokenService | ( | ) |
Check if the Access Token service is supported.
bool ceLTIc\LTI\Platform::hasToolSettingsService | ( | ) |
Check if the Tool Settings service is supported.
References ceLTIc\LTI\System\$ok, getFamilyCode(), and ceLTIc\LTI\System\getSetting().
void ceLTIc\LTI\Platform::initialise | ( | ) |
void ceLTIc\LTI\Platform::initialize | ( | ) |
|
protected |
Check the hint and recover the message parameters for an authentication request.
Override this method if the data has been saved elsewhere.
References onLtiStartAssessment().
|
protected |
Process a valid content-item message.
Referenced by onInitiateLogin().
|
protected |
Process a response to an invalid message.
|
protected |
Save the hint and message parameters when sending an initiate login request.
Override this method to save the data elsewhere.
string | $url | The message URL |
string | $loginHint | The ID of the user |
string | null | $ltiMessageHint | The message hint being sent to the tool |
array | $params | An associative array of message parameters |
References onContentItem().
|
protected |
Process a valid start assessment message.
Referenced by onAuthenticate().
bool ceLTIc\LTI\Platform::save | ( | ) |
Save the platform to the database.
void ceLTIc\LTI\Platform::setAccessToken | ( | AccessToken | $accessToken | ) |
Set the authorization access token.
AccessToken | $accessToken | Access token |
bool ceLTIc\LTI\Platform::setToolSettings | ( | array | $settings = [] | ) |
Set Tool Settings.
array | $settings | An associative array of settings (optional, default is none) |
string ceLTIc\LTI\Platform::$accessTokenUrl = null |
Access Token service URL.
string ceLTIc\LTI\Platform::$authenticationUrl = null |
Login authentication URL.
string ceLTIc\LTI\Platform::$authorizationServerId = null |
Authorization server ID.
|
static |
Name of browser storage frame.
string ceLTIc\LTI\Platform::$clientId = null |
Client ID.
Referenced by initialise().
string ceLTIc\LTI\Platform::$consumerGuid = null |
Platform GUID (as reported by first platform connection).
string ceLTIc\LTI\Platform::$consumerName = null |
Name of platform (as reported by last platform connection).
string ceLTIc\LTI\Platform::$consumerVersion = null |
Platform version (as reported by last platform connection).
Referenced by delete().
string ceLTIc\LTI\Platform::$cssPath = null |
Optional CSS path (as reported by last platform connection).
string ceLTIc\LTI\Platform::$defaultEmail = '' |
Default email address (or email domain) to use when no email address is provided for a user.
string ceLTIc\LTI\Platform::$deploymentId = null |
Deployment ID.
HttpMessage ceLTIc\LTI\Platform::$lastServiceRequest = null |
HttpMessage object for last service request.
|
static |
List of supported incoming message types.
string ceLTIc\LTI\Platform::$platformId = null |
Platform ID.
object ceLTIc\LTI\Platform::$profile = null |
The platform profile data.
bool ceLTIc\LTI\Platform::$protected = false |
Whether the platform instance is protected by matching the consumer_guid value in incoming requests.
string ceLTIc\LTI\Platform::$toolProxy = null |
The tool proxy.