X7ROOT File Manager
Current Path:
/home/cbholdings/pasukulu/lib/lti1p3/src
home
/
cbholdings
/
pasukulu
/
lib
/
lti1p3
/
src
/
📁
..
📁
Helpers
📁
ImsStorage
📁
Interfaces
📄
JwksEndpoint.php
(1.52 KB)
📄
LtiAbstractService.php
(1.36 KB)
📄
LtiAssignmentsGradesService.php
(6.65 KB)
📄
LtiConstants.php
(7.56 KB)
📄
LtiCourseGroupsService.php
(1.99 KB)
📄
LtiDeepLink.php
(2.11 KB)
📄
LtiDeepLinkResource.php
(3.28 KB)
📄
LtiDeepLinkResourceIcon.php
(1.27 KB)
📄
LtiDeployment.php
(392 B)
📄
LtiException.php
(92 B)
📄
LtiGrade.php
(3.77 KB)
📄
LtiGradeSubmissionReview.php
(1.8 KB)
📄
LtiLineitem.php
(3.07 KB)
📄
LtiMessageLaunch.php
(17.73 KB)
📄
LtiNamesRolesProvisioningService.php
(708 B)
📄
LtiOidcLogin.php
(4.69 KB)
📄
LtiRegistration.php
(2.69 KB)
📄
LtiServiceConnector.php
(6.69 KB)
📁
MessageValidators
📄
OidcException.php
(93 B)
📄
Redirect.php
(2.46 KB)
📄
ServiceRequest.php
(4.14 KB)
Editing: LtiDeepLink.php
<?php namespace Packback\Lti1p3; use Firebase\JWT\JWT; use Packback\Lti1p3\Interfaces\ILtiRegistration; class LtiDeepLink { private $registration; private $deployment_id; private $deep_link_settings; public function __construct(ILtiRegistration $registration, string $deployment_id, array $deep_link_settings) { $this->registration = $registration; $this->deployment_id = $deployment_id; $this->deep_link_settings = $deep_link_settings; } public function getResponseJwt($resources) { $message_jwt = [ 'iss' => $this->registration->getClientId(), 'aud' => [$this->registration->getIssuer()], 'exp' => time() + 600, 'iat' => time(), 'nonce' => LtiOidcLogin::secureRandomString('nonce-'), LtiConstants::DEPLOYMENT_ID => $this->deployment_id, LtiConstants::MESSAGE_TYPE => 'LtiDeepLinkingResponse', LtiConstants::VERSION => LtiConstants::V1_3, LtiConstants::DL_CONTENT_ITEMS => array_map(function ($resource) { return $resource->toArray(); }, $resources), ]; // https://www.imsglobal.org/spec/lti-dl/v2p0/#deep-linking-request-message // 'data' is an optional property which, if it exists, must be returned by the tool if (isset($this->deep_link_settings['data'])) { $message_jwt[LtiConstants::DL_DATA] = $this->deep_link_settings['data']; } return JWT::encode($message_jwt, $this->registration->getToolPrivateKey(), 'RS256', $this->registration->getKid()); } public function outputResponseForm($resources) { $jwt = $this->getResponseJwt($resources); /* * @todo Fix this */ ?> <form id="auto_submit" action="<?php echo $this->deep_link_settings['deep_link_return_url']; ?>" method="POST"> <input type="hidden" name="JWT" value="<?php echo $jwt; ?>" /> <input type="submit" name="Go" /> </form> <script> document.getElementById('auto_submit').submit(); </script> <?php } }
Upload File
Create Folder