What steps should I go through to find the problem?
The only things I can think of are
1. base64 complains about invalid input, yet decodes the header and payload. I have been assuming perl can decode the JWT without throwing an error message
2. How ssl has been set up on the server. I can't find any private key file, yet I have been told that the server is properly set up for ssl. Apart from LTI, Webwork is working properly. Does JWT use the ssl private key in some way?
Here's the payload of the JWT:
"nonce": "a39bcb0515eca71623d74154c29e96d1af4ca52d66094d7ead232f7b761100ca",
"iat": 1754688079,
"exp": 1754688139,
"iss": "https://sandbox.kpu.ca",
"aud": "0Zkywptk292RPvD",
"https://purl.imsglobal.org/spec/lti/claim/deployment_id": "10",
"https://purl.imsglobal.org/spec/lti/claim/target_link_uri": "https://webwork2.kpu.ca/webwork2/ltiadvantage/content_selection",
"sub": "2780",
"https://purl.imsglobal.org/spec/lti/claim/lis": {
"person_sourcedid": "",
"course_section_sourcedid": ""
},
"https://purl.imsglobal.org/spec/lti/claim/roles": [
"http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor"
],
"https://purl.imsglobal.org/spec/lti/claim/context": {
"id": "13202",
"label": "test course",
"title": "test course",
"type": [
"CourseSection"
]
},
"https://purl.imsglobal.org/spec/lti/claim/message_type": "LtiDeepLinkingRequest",
"given_name": "Michael",
"family_name": "Nyenhuis",
"name": "Nyenhuis, Michael",
"https://purl.imsglobal.org/spec/lti/claim/ext": {
"user_username": "mnyenhuis",
"lms": "moodle-2"
},
"email": "michael.nyenhuis@kpu.ca",
"https://purl.imsglobal.org/spec/lti/claim/launch_presentation": {
"locale": "en"
},
"https://purl.imsglobal.org/spec/lti/claim/tool_platform": {
"product_family_code": "moodle",
"version": "2022112806.03",
"guid": "535e28cf434e003d29dcfd7f1177e2cc",
"name": "KPU Sandbox",
"description": "KPU Sandbox"
},
"https://purl.imsglobal.org/spec/lti/claim/version": "1.3.0",
"https://purl.imsglobal.org/spec/lti-dl/claim/deep_linking_settings": {
"accept_types": [
"ltiResourceLink"
],
"accept_presentation_document_targets": [
"frame",
"iframe",
"window"
],
"accept_copy_advice": false,
"accept_multiple": true,
"accept_unsigned": false,
"auto_create": false,
"can_confirm": false,
"deep_link_return_url": "https://sandbox.kpu.ca/mod/lti/contentitem_return.php?course=13202&id=10&sesskey=oGiCwz82CO",
"title": "WebWorks",
"text": ""
}
}