LTI: Creating a deep link to external service using User Integration ID

courtney_osulli
Community Participant

Hey,

Just wondering if any one has been able to create an LTI that uses an external parties deeplink so that i can add the link somewhere inside Canvas. We have the data we need to pass in the integration id field of all users in our instance but I'm a bit confused with the LTI creation process. 

I have tried following the instructions on the given on the LTI documentation site but I'm getting a bit confused with the login url etc. 

Below is what I have. Variables have been replaced for submission. 

{  
   "title":"DeepLink - Student",
   "scopes":[ ],
   "extensions":[  
      {  
         "domain":"custom.deeplink.com",
         "tool_id":"add-deepink-canvas_student",
         "platform":"canvas.instructure.com",
         "settings":{  
            "text":"DeepLink for student",
            "icon_url":"{URLtoIMAGE}",
            "placements":[  
               {  
                  "text":"View DeepLink for $Canvas.user.name",
                  "enabled":true,
                  "icon_url":"{URLtoIMAGE}",
                  "placement":"user_navigation",
                  "message_type":"LtiResourceLinkRequest",
                  "target_link_uri":"{URLToService}?ProfileExternalId=$Canvas.user.sisIntegrationId",
                  "canvas_icon_class":"icon-lti"
                 
               }
            ]
         }
      }
   ],
   "public_jwk":{  
      "kty":"RSA",
      "alg":"RS256",
      "e":"AQAB",
      "kid":"8f796169-0ac4-48a3-a202-fa4f3d814fcd",
      "n":"nZD7QWmIwj-3N_RZ1qJjX6CdibU87y2l02yMay4KunambalP9g0fU9yZLwLX9WYJINcXZDUf6QeZ-SSbblET-h8Q4OvfSQ7iuu0WqcvBGy8M0qoZ7I-NiChw8dyybMJHgpiP_AyxpCQnp3bQ6829kb3fopbb4cAkOilwVRBYPhRLboXma0cwcllJHPLvMp1oGa7Ad8osmmJhXhM9qdFFASg_OCQdPnYVzp8gOFeOGwlXfSFEgt5vgeU25E-ycUOREcnP7BnMUk7wpwYqlE537LWGOV5z_1Dqcqc9LmN-z4HmNV7b23QZW4_mzKIOY4IqjmnUGgLU9ycFj5YGDCts7Q",
      "use":"sig"
   },
   
   "target_link_uri":"URLToService",
   "description":"DeepLink",
   "oidc_initiation_url":"https://canvas.test.instructure.com",
   
   
}

 

As I'm not trying to leave Canvas to do anything should the oidc be my canvas instance?


Am i trying to do something you can't do?  I just want to be able to add the link in here to the user navigation for everyone.  Is the JWT bit correct too? I am very confused with this part as I don't really understand it. 

Any assistance would be greatly appreciated?

Kind Regards

Courtney O'Sullivan

0 Likes