Working on developing 1.3 LTI Deep Linking. Keep getting errors.
------------------------------------
UPDATE
I found out what was originally going wrong, I wasn't sending the KID header along with the token.
However I'm still having a problem... Now I get "The external learning tool responded with no content. Close this dialog and try again or contact the external learning tool for support."
Am I sending the content item incorrectly?
-----------------------------
Hello,
I'm trying to achieve deep linking between my tool and Brightspace.
The initial request comes in fine, I get the deep_link_return_url from it, select the link i want to use, then attempt to post the data back. This is where i'm having the problem.
To start with I got 500 error, did some research and realised I had to put the kid in the header. Once I started sending that I am now getting 403 Not Authorised errors.
System logs in brightspace state "Error processing deep linking return"
Can anyone see any problems with the below, or is there anyway of getting a more detailed error?
Here is the token I am sending (I seralise before I do send):
{
{
"alg":"RS256",
"kid":"private-kid",
"typ":"JWT"
}"."{
"iss":"https://pebble.d2l-partners.brightspace.com",
"aud":"privateaud",
"exp":1645720195,
"iat":1645719595,
"nonce":"618e64fe03376e1f482470cea7e7dff7d54606d1336db09cddcf3b2697af87cd",
"https://purl.imsglobal.org/spec/lti/claim/message_type":"LtiDeepLinkingResponse",
"https://purl.imsglobal.org/spec/lti/claim/version":"1.3.0",
"https://purl.imsglobal.org/spec/lti/claim/deployment_id":"privatedeploymentid",
"https://purl.imsglobal.org/spec/lti-dl/claim/data":"3xf3EE1aJaOuAdhyBiaYoWNqRR22OcDRQrDZgc1ipWQ~",
"https://purl.imsglobal.org/spec/lti-dl/claim/content_item":"[{\"type\":\"ltiResourceLink\",\"title\":\"Testing Template\",\"text\":\"\",\"url\":\"https://testurl.com\"}]",
"nbf":1645719595
}
}
Answers
-
worked it out
"https://purl.imsglobal.org/spec/lti-dl/claim/content_item" should have been "https://purl.imsglobal.org/spec/lti-dl/claim/content_items". Missing an s
also it wasn't expecting a array of objects, just expecting one ltiResourceLink
-
> @Steven.Davies809 said:
> worked it out
>
>
>
> "https://purl.imsglobal.org/spec/lti-dl/claim/content_item" should have been "https://purl.imsglobal.org/spec/lti-dl/claim/content_items". Missing an s
>
>
>
> also it wasn't expecting a array of objects, just expecting one ltiResourceLink
But the spec says the optional claim is an array...