OIDC Authentication Endpoint
The OIDC authorization endpoint that registered tools call to begin a launch. You never call this — hand its URL to the tool vendor as the authentication or authorization endpoint.
LTIAAS validates the tool's request, then 302-redirects the browser to the Launch URL or Deep Linking URL you configured in the portal, with a signed payload query parameter. Verifying that payload and answering with an ID Token is your part of the flow.
Both GET and POST are accepted; parameters may arrive in the query string or the form body.
This endpoint is unauthenticated by design. It is protected by the tool's registered redirect URIs, a signed message hint, and a 30-second nonce replay window.
Query Parameters
The tool's client ID, issued by LTIAAS at registration.
Echoed back from the launch — the user value you supplied.
The signed launch token issued by Create Launch Parameters. Expires one hour after issue.
Must match one of the tool's registered redirectionUris.
Possible values: [openid]
Must be openid.
Possible values: [id_token]
Must be id_token.
Possible values: [form_post]
Must be form_post.
Possible values: [none]
Must be none.
Opaque value the tool uses to correlate the response.
Single-use value. Reusing one within 30 seconds fails with DUPLICATE_NONCE.
- 302
- 400
- 403
- 404
Redirect to your configured Launch URL or Deep Linking URL, carrying ?payload=<JWT>.
One or more request parameters were missing or malformed.
Schema
- Array [
- ]
details object
errors object[]
One entry per field that failed validation.
{
"status": 400,
"error": "Bad Request",
"details": {
"errors": [
{
"field": "clientId",
"message": "Missing 'clientId' parameter."
}
]
}
}
The account is not permitted to use this endpoint — most often because it is an LTIAAS Launch account rather than a Connect one, or because a trial quota has been reached.
Schema
details object
Context for the failure. Always carries a message code; the other keys depend on what went wrong.
Context for the failure. Always carries a message code; the other keys depend on what went wrong.
{
"status": 403,
"error": "Forbidden",
"details": {
"message": "INACTIVE_SERVICE",
"description": "string"
}
}
{
"status": 403,
"error": "Forbidden",
"details": {
"message": "INVALID_ACCOUNT_TYPE"
}
}
No tool with that ID is registered on this account.
Schema
details object
Context for the failure. Always carries a message code; the other keys depend on what went wrong.
Context for the failure. Always carries a message code; the other keys depend on what went wrong.
{
"status": 403,
"error": "Forbidden",
"details": {
"message": "INACTIVE_SERVICE",
"description": "string"
}
}
{
"status": 404,
"error": "Not Found",
"details": {
"message": "UNREGISTERED_TOOL"
}
}
