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: JwksEndpoint.php
<?php namespace Packback\Lti1p3; use Firebase\JWT\JWT; use Packback\Lti1p3\Interfaces\IDatabase; use Packback\Lti1p3\Interfaces\ILtiRegistration; class JwksEndpoint { private $keys; public function __construct(array $keys) { $this->keys = $keys; } public static function new(array $keys) { return new JwksEndpoint($keys); } public static function fromIssuer(IDatabase $database, $issuer) { $registration = $database->findRegistrationByIssuer($issuer); return new JwksEndpoint([$registration->getKid() => $registration->getToolPrivateKey()]); } public static function fromRegistration(ILtiRegistration $registration) { return new JwksEndpoint([$registration->getKid() => $registration->getToolPrivateKey()]); } public function getPublicJwks() { $jwks = []; foreach ($this->keys as $kid => $private_key) { $key_res = openssl_pkey_get_private($private_key); $key_details = openssl_pkey_get_details($key_res); $components = [ 'kty' => 'RSA', 'alg' => 'RS256', 'use' => 'sig', 'e' => JWT::urlsafeB64Encode($key_details['rsa']['e']), 'n' => JWT::urlsafeB64Encode($key_details['rsa']['n']), 'kid' => $kid, ]; $jwks[] = $components; } return ['keys' => $jwks]; } public function outputJwks() { echo json_encode($this->getPublicJwks()); } }
Upload File
Create Folder