The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December.
Read our blog post for more info about this change.
Found this content helpful? Log in or sign up to leave a like!
Hi Team,
We are trying to implement LTI 1.3 Advantage (Deep Linking) in our tool, we are able to generate JWT token and while sending that token to the Canvas server we are getting below error.
{"errors":{"jwt":[{"attribute":"jwt","type":"JWT format is invalid","message":"JWT format is invalid"}]}}
We have verified the response JWT, which is per the LTI standard. Attached is the same below.
Header (The kid is matched with my inserted jwks kid)
{
"alg": "RS256",
"kid": "RV6OzALomjinkCIWc9QXYnRBxJw0jzWcdf6a8M05Mye6RaPqilZI81ptDsWLc90q",
"typ": "JWT"
}
Payload
{
"https://purl.imsglobal.org/spec/lti/claim/message_type": "LtiDeepLinkingResponse",
"https://purl.imsglobal.org/spec/lti/claim/version": "1.3.0",
"iss": "<canvas-client-id>",
"aud": "https://canvas.instructure.com",
"exp": "1674118953",
"iat": "1674118653",
"nonce": "HeP1fUhtbus",
"azp": "EptPvHHKXr0",
"https://purl.imsglobal.org/spec/lti/claim/deployment_id": "11796:896746821c480c1601d9f9521a6f454e8cb7625a",
"https://purl.imsglobal.org/spec/lti-dl/claim/content_items": [
{
"text": "Diffusion Description",
"title": "Diffusion",
"type": "ltiResourceLink",
"url": "https://my-url.cloudfront.net/nurl/index.html"
}
]
}
Can anyone please help me with the resolution?
The two things I would suggest you try first are to make the aud claim an array (this is not required but recommended, I believe), and either drop the azp claim (which is optional) or make sure that it is the same value as the aud claim.
Community helpTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in