Sharebar?

RI missing deployment_id from platform launch

RI missing deployment_id from platform launch

When launching as a platform from the reference implementation, I've noticed it doesn't include the https://purl.imsglobal.org/spec/lti/claim/deployment_id claim.

The spec indicates that this is required:

The required https://purl.imsglobal.org/spec/lti/claim/deployment_id claim's value contains a case sensitive string that identifies the platform-tool integration governing the message. It MUST NOT exceed 255 ASCII characters in length.

I feel like this used to be present when I was testing some time back, but is now missing?

jrissler's picture

It is required, and is

It is required, and is present in the all the ones I tested with.

Did you create a platform key for your platform? That's where the platform gets the deployment id from in the RI.

 

Ah, that was it! The platform

Ah, that was it! The platform key was never setup. Sorry, this platform was created by someone else so I didn't think to check the setup! Thanks for the tip!

jrissler's picture

Np at all

Np at all

A few other questions -

A few other questions -

1. How is that deployment id intended to be used/selected in the RI? I don't see any options for associating a deployment id with a specific resource link. I tried creating a second deployment id and when I tried to launch an existing resource link, it now used the newly created deployment id. Is the RI always using the most recent deployment id for launches?

I'm trying to better understand the deployment id part of the domain model. There is a note in the spec:

The deployment_id is a stable locally unique identifier within the iss (Issuer).

This would seem to imply the deployment id must be unique across the entire platform (issuer).

The example of a 1:1 security contract, however, shows the same deployment id existing across multiple tools (and thus not unique across the issuer).

I would think the deployment id should be unique within a single tool (security contract/client id, like what the domain model shows), not across the entire issuer (platform)?

2. I also see the following statement:

Each LTI Link MUST be associated with a single deployment_id to identify the tool deployment it is linked to.

I assume this is a one way requirement; eg each LTI link must have one deployment_id, but a deployment_id can have many LTI Links?

3. In the domain model, what are the values in parenthesis intended to represent? Most of them are pretty clear (iss, client_id, sub), but what does lti mean?

Thanks!