AnsweredAssumed Answered

Trying to use the DeepLink with LTI 1.3. But when I send the JWT to canvas, I get an error

Question asked by Daniel Lopez on Aug 15, 2019
Latest reply on Sep 19, 2019 by Daniel Lopez
{"errors":{"jwt":[{"attribute":
"jwt","type":"JSON::JWK::Set::KidNotFound","message":"JSON::JWK::Set::KidNotFound"},
{"attribute":"jwt","type":"JWT verification failure","message":"JWT verification failure"}]}}

 

In the tool configuration I'm using the jwk that was generated by the imsglobal site

https://cloud.ilosvideos.com/lti/jwk.json 

 

That's the correct procedure right? so Canvas can validate my jwt.

 

I signed the jwt with the private key.

 

I decoded the jwk and I can confirm that

1. It decodes to my public key

2. Using that public key I can verify the signature of the jwt (at jwt.io)

 

Here's the jwt

eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiIxNDk3MTAwMDAwMDAwMDAwMDQiLCJhdWQiOlsiaHR0cHM6XC9cL2NhbnZhcy5pbnN0cnVjdHVyZS5jb20iXSwiZXhwIjoxNTY1OTAzMzUwLCJpYXQiOjE1NjU5MDI3NTAsIm5vbmNlIjoibm9uY2U1ZDU1Yzc5ZWM0ZWI0IiwiaHR0cHM6XC9cL3B1cmwuaW1zZ2xvYmFsLm9yZ1wvc3BlY1wvbHRpXC9jbGFpbVwvZGVwbG95bWVudF9pZCI6Ijc3OmVmNDI1Nzc1NjBkYmI5ZjQ5MzJiODI5YjFlYmNhYWIzMTQyODA0MGIiLCJodHRwczpcL1wvcHVybC5pbXNnbG9iYWwub3JnXC9zcGVjXC9sdGlcL2NsYWltXC9tZXNzYWdlX3R5cGUiOiJMdGlEZWVwTGlua2luZ1Jlc3BvbnNlIiwiaHR0cHM6XC9cL3B1cmwuaW1zZ2xvYmFsLm9yZ1wvc3BlY1wvbHRpXC9jbGFpbVwvdmVyc2lvbiI6IjEuMy4wIiwiaHR0cHM6XC9cL3B1cmwuaW1zZ2xvYmFsLm9yZ1wvc3BlY1wvbHRpLWRsXC9jbGFpbVwvY29udGVudF9pdGVtcyI6W3sidHlwZSI6Imx0aVJlc291cmNlTGluayIsInRpdGxlIjoiQnJlYWtvdXQgZWFzeSBtb2RlISIsInVybCI6Imh0dHBzOlwvXC9sb2NhbGhvc3Q6OTAwMlwvZ2FtZV9leGFtcGxlXC9nYW1lLnBocCIsInByZXNlbnRhdGlvbiI6eyJkb2N1bWVudFRhcmdldCI6ImlmcmFtZSJ9LCJjdXN0b20iOnsiZGlmZmljdWx0eSI6ImVhc3kifX1dLCJodHRwczpcL1wvcHVybC5pbXNnbG9iYWwub3JnXC9zcGVjXC9sdGktZGxcL2NsYWltXC9kYXRhIjpudWxsfQ.Jk2Ev7PJMhqZxLFAu6HbGcUoDK6dwnuPYzsxFvXpSYT2lajpr2UjVEUJGx5AwKKF4nraVUgv0MWg65XPvp-YTKWdr2Tfx7VRykuGqC5IhTfAzOUJSO9-P0WlFTcUeVYCq5cq2YmSyi-Hm6HJQ28SadvFCIa3PgHVpW2Iwp_OWOQ4dAsk24Mu6CyEhqxuoQPmYArLXGiu5tHHJGWkfLTADXsbjylpDisMoliWHSEYlk4FFDcPmv-Sk5isPtoO3xBxXzE_xKKFulZFqujnpS5CIpTkPGyqbGA1tJVk-qCZnfBEjPNqD8r8_lRVu-7EXp4Dih2CYZSgPwhqdYCUhTj1fA

 

You can use the public key to validate it.

 

I alwas get kidnotfound, but the kid is there :/

 

Thanks!

Outcomes