blackboard / BBDN-LTI-Tool-Provider-Node

A node.js LTI Tool Provider for testing LTI launches, Caliper, and Outcomes.
73 stars 40 forks source link

LTI1.3 - login flow not working #129

Closed scollovati closed 2 years ago

scollovati commented 2 years ago

Hi, as per the README file I've configured a config-override.json file with my public url. I left the port as 3000 since it seems to have no effect. The publi url is a ngrok one, the same configured in the developer portal and the in the learn environment.

When launching the tool after performing the app id registration at [tool]/applications i see a few issues: 1- the output of the container still shows "localhost" as the app host:

bbdn-lti-tool-provider-node-lti-tool-1  | Home page:                    http://localhost/
bbdn-lti-tool-provider-node-lti-tool-1  | Registered Applications List: http://localhost/applications
bbdn-lti-tool-provider-node-lti-tool-1  | LTI 1 Tool Provider:          http://localhost/lti
bbdn-lti-tool-provider-node-lti-tool-1  | LTI 1 Content Item:           http://localhost/CIMRequest
bbdn-lti-tool-provider-node-lti-tool-1  | LTI 1.3 Login URL:            http://localhost/login
bbdn-lti-tool-provider-node-lti-tool-1  | LTI 1.3 Redirect URL:         http://localhost/lti13
bbdn-lti-tool-provider-node-lti-tool-1  | LTI 1.3 Direct Target URL:    http://localhost/lti13
bbdn-lti-tool-provider-node-lti-tool-1  | LTI 1.3 Deep Linking  URL:    http://localhost/deepLinkOptions
bbdn-lti-tool-provider-node-lti-tool-1  | LTI 1.3 Bobcat Target URL:    http://localhost/lti13bobcat
bbdn-lti-tool-provider-node-lti-tool-1  | LTI 1.3 Proctoring URL:       http://localhost/proctoring
bbdn-lti-tool-provider-node-lti-tool-1  | JWKS URL:                     http://localhost/.well-known/jwks.json

2- after the GET call to /login, the app redirects with an url that has several issues (login_hint and lti message hint undefined, redirect uri to localhost):

https://developer.blackboard.com/api/v1/gateway/oidcauth?response_type=id_token&scope=openid&login_hint=undefined&lti_message_hint=undefined&state=be27ecd4-8cee-43af-b784-1db5d0955e4d&redirect_uri=http%3A%2F%2Flocalhost%2Flti13&client_id=95e822d0-210c-443b-9d6c-17e2e96ff3dc&nonce=74a48faa-7f38-4d94-988c-cc364b6d69d9

The OIDC flows stops there because then the developer portal redirects to undefined?[oidc query parameters].

ewpreston commented 2 years ago

The name of the file is config)override.json with an underscore (_)