Skip to main content

Moodle setup: LTI 1.3 Dynamic Registration

Generate the Raison registration URL, add it in Moodle as an LTI Advantage tool, and activate it.

Written by Romain Morvant

Dynamic Registration replaces copying LTI endpoints by hand. Raison generates a short-lived registration URL for your organization. You paste it into Moodle. Moodle and Raison exchange OpenID Connect and LTI metadata, then Raison stores the platform configuration.

Install the local plugin first. See Moodle setup: install the plugin.

Register the tool

  1. In Raison, go to Organization → Integrations → Moodle → LTI.

  2. Under Automatic setup, select Generate registration URL.

  3. Copy the URL. It expires; if it has expired, generate a new one. Do not reuse an old URL.

  4. In Moodle, as an administrator, go to Site administration → Plugins → Activity modules → External tool → Manage tools.

  5. Paste the URL in the Add tool field and select Add LTI Advantage.

  6. A tool named Raison AI Exams appears in a pending state. Select Activate.

  7. The state must change to Active.

  8. Back in Raison, open Organization → Integrations → Moodle → LTI and confirm the integration is configured.

Moodle creates the tool as pending on purpose. It must be activated before anyone can launch it.

What the URL contains

The URL is bound to one Raison organization. Its token is short-lived and limited to Moodle Dynamic Registration. Moodle then sends Raison its OpenID configuration. Raison accepts the metadata only if the platform is Moodle, the required endpoints are present, and the issuer origin matches.

Raison returns its tool metadata (login initiation URL, launch URL, public JWKS, private_key_jwt). Moodle returns a client ID and deployment ID. Raison stores issuer, authorization endpoint, token endpoint, JWKS URI, client ID, and deployment ID for that organization.

If registration fails, Moodle shows a safe error page. Support can use the correlation ID from the logs.

What this registration enables

The current registration covers the standard LtiResourceLinkRequest launch: a signed launch into the attached assistant or assessment.

It does not request LTI Advantage scopes for Assignment and Grade Services, Names and Role Provisioning Services, or Deep Linking. Moodle grade passback is not enabled at this stage.

What a launch does

When a user opens a Raison activity, Moodle starts an OIDC login. Raison validates the platform, creates signed state with a nonce, and redirects to Moodle's authorization endpoint.

Moodle posts an id_token to Raison. Raison checks issuer, audience, deployment ID, key ID, RS256 signature, and nonce, then routes by course, activity, and role.

If the activity maps to a published assessment, that path wins. Otherwise the launch opens the course assistant. If the placement exists but no published assessment is attached, Raison shows a controlled troubleshooting state.

Related

Need help? Write to [email protected].

Did this answer your question?