The openid_config that we're getting from Canvas is:
{'issuer': 'https://canvas.beta.instructure.com', 'authorization_endpoint': 'https://sso.beta.canvaslms.com/api/lti/authorize_redirect', 'registration_endpoint': 'https://sso.beta.canvaslms.com/api/lti/registrations', 'jwks_uri': 'https://sso.beta.canvaslms.com/api/lti/security/jwks', 'token_endpoint': 'https://sso.beta.canvaslms.com/login/oauth2/token', 'token_endpoint_auth_methods_supported': ['private_key_jwt'], 'token_endpoint_auth_signing_alg_values_supported': ['RS256'], 'scopes_supported': ['openid', 'https://purl.imsglobal.org/spec/lti-ags/scope/lineitem', 'https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly', 'https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly', 'https://purl.imsglobal.org/spec/lti-ags/scope/score', 'https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly', 'https://purl.imsglobal.org/spec/lti/scope/noticehandlers', 'https://canvas.instructure.com/lti/public_jwk/scope/update', 'https://canvas.instructure.com/lti/account_lookup/scope/show', 'https://canvas.instructure.com/lti-ags/progress/scope/show', 'https://canvas.instructure.com/lti/page_content/show'], 'response_types_supported': ['id_token'], 'id_token_signing_alg_values_supported': ['RS256'], 'claims_supported': ['sub', 'picture', 'email', 'name', 'given_name', 'family_name', 'locale'], 'subject_types_supported': ['public'], 'authorization_server': 'sso.beta.canvaslms.com', 'https://purl.imsglobal.org/spec/lti-platform-configuration': {'product_family_code': 'canvas', 'version': 'vCloud', 'messages_supported': [...], 'notice_types_supported': [...], 'variables': [...], 'https://canvas.instructure.com/lti/account_name': 'Harvard University', 'https://canvas.instructure.com/lti/account_lti_guid': '7db438071375c02373713c12c73869ff2f470b68.harvard.instructure.com'}}
Then, when we POST our registration data to https://sso.beta.canvaslms.com/api/lti/registrations we get a 404 response with the content:
{
"errors": [
{
"message": "The specified resource does not exist."
}
]
}
If we change the registration URL to https://canvas.beta.instructure.com/api/lti/registrations and POST the exact same data, the registration is created successfully.
I'm doing some more testing here to see what else I can learn.
--Colin