- Issue created by @ddelblanco_2
- 🇩🇪Germany D34dMan Hamburg
@ddelblanco_2 am not too familiar with this, I could try to create a MR if you share some "links" that would reach Drupal containing those parameters (obfuscated values should be ok).
Some LMSs send a "data" attribute in the deep_linking_settings that needs to be returned to the LMS in the JWT generated based on the LTI 1.3 Deep link specification.
The oat library accepts that parameter, but the LTI Tool Provider module is not sending it, so it comes as null and deep link does not work.
It works in Canvas because it does not send the data parameter in the payload, but D2L and Schoology, for example, send it and the requests fail.
Try to launch deep link and return a link in Schoology or D2L.
Need to pass all the parameters to the DeepLinkingLaunchResponseBuilder and not only those three.
This is the current code
$builder = new DeepLinkingLaunchResponseBuilder();
$message = $builder->buildDeepLinkingLaunchResponse($resourceCollection, $event->getRegistration(), $event->getReturn());
And these are all the parameters that the builder accepts. data must come if it comes in the request (and the deploymentId too):
ResourceCollectionInterface $resourceCollection,
RegistrationInterface $registration,
string $deepLinkingReturnUrl,
?string $deploymentId = null,
?string $deepLinkingData = null,
?string $deepLinkingMessage = null,
?string $deepLinkingLog = null,
array $optionalClaims = []
)
Surely the event LtiToolProviderContentResourceEvent will need to include more attributes.
Active
2.0
Code
@ddelblanco_2 am not too familiar with this, I could try to create a MR if you share some "links" that would reach Drupal containing those parameters (obfuscated values should be ok).