LTI 1.3 but having trouble with authentication (/d2l/lti/authenticate). Keep getting 404s.
I'm trying to get our tool to work with 1.3 and brightspace. I'm currently trying to implement openid to autheticate with.
Brightspace gets to my auth method fine but when I try to redirect the user to the openid auth endpoint I keep gettings 404. Checking your help it says to check I have all parameters correct which I believe I do.
Can anyone see anything wrong with this redirect?
https://***.brightspace.com/d2l/lti/authenticate
client_id: ****
login_hint: *****
lti_message_hint: *****
nonce: 122c0f56-bdff-4e0e-8f1f-a5133b96a0b7
prompt: none
redirect_uri: ***
response_mode: form_post
response_type: id_token
scope: openid
state: 12470601-b9cb-4dfe-b876-3e63c1802745
Rather redirecting to correct url, its redirecting to https://***.brightspacedemo.com/d2l/error/404
Answers
-
Hey there,
Please make sure the redirect_url is listed in the endpoints while registering your tool with D2L.
// Construct the authentication URL
const authenticationUrl =${iss}/d2l/lti/authenticate?
+client_id=${encodeURIComponent(client_id)}
+&login_hint=${encodeURIComponent(login_hint)}
+<i_message_hint=${encodeURIComponent(lti_message_hint)}
+&nonce=${encodeURIComponent(nonce)}
+&nonce_hash=${encodeURIComponent(nonce_hash)}
+&prompt=${encodeURIComponent(prompt)}
+&redirect_uri=${encodeURIComponent(redirect_uri)}
+&response_mode=${encodeURIComponent(response_mode)}
+&response_type=${encodeURIComponent(response_type)}
+&scope=${encodeURIComponent(scope)}
+&state=${encodeURIComponent(state)}
+&oidc_endpoint=${encodeURIComponent(
${iss}/d2l/lti/authenticate)}
;
Check the above URL and make sure you have all the parameters to construct the URL. Hope this helpsAravind