-
The Generic Token Provider is an external service provider type that retrieves access tokens from an external system and makes them available for protected media calls.
-
On the Description tab you can see the following configuration fields:
Name* (50 characters max.)
-
What it is: Internal name of this concrete token provider configuration.
-
Recommendation:
Use a name that identifies both the target platform and the environment (Prod, Test, Region).
Description (2000 characters max.)
-
What it is: Optional free‑text description for admins.
-
What to put here:
-
Purpose of the provider (which media types / integrations use it).
-
Links to the external system’s documentation.
-
Any constraints (e.g. token lifetime, rate limits).
-
Token Endpoint name* (255 characters max.)
-
What it is: Logical or technical name of the token endpoint this provider talks to.
This value is stored in thetoken_endpoint_namefield of thegeneric_token_providertable and lets you distinguish different token services. -
Typical usage:
-
A service ID used by your infrastructure team.
-
Or a descriptive name combining system and endpoint.
-
-
Important:
This field is mandatory. You cannot save the provider without it.
External Endpoint URL* (255 characters max.)
-
What it is: The actual URL that the LMS calls to retrieve the token from the external system.
-
Examples:
-
https://idp.customer.com/api/token/media
-
-
Guidelines:
-
Use HTTPS URLs only.
-
Use the URL of the endpoint that returns the token in the format your connector expects.
-
If your organization has different URLs per environment (DEV/QA/PROD), create one Generic Token Provider per environment.
-
-
Important:
This field is mandatory. If it is empty, saving will be blocked.
Connector class* (dropdown)
-
What it is: The technical connector implementation that knows how to call the external endpoint and extract the token from the response.
-
Where it comes from:
Connector classes are implemented and deployed by imc / your technical team. You just select one of the available options. -
How to choose:
-
For any provider, select the connector documented for that integration.
-
-
Important:
This field is mandatory. If no connector is selected, token retrieval cannot work.
Payload fields (1000 characters max.)
-
What it is: Optional list of payload fields that the connector will send to the external endpoint (for example, as query parameters or JSON fields), depending on the connector’s design.
-
Typical content:
-
Comma‑separated field names, e.g.
userId,courseId,sessionId -
A key=value list, if your connector expects that, e.g.
userId={USER_ID};mediaId={MEDIA_ID}
-
-
How to fill this in:
-
Check the external token service documentation
-
Identify which fields must be sent when requesting a token (such as user identifier, tenant, media identifier).
-
Enter them in the format specified for your connector (your project documentation should state if it is CSV, key=value pairs, JSON template, etc.).
-
-
Note:
If your connector does not need any additional payload fields (for example it only uses client credentials), you can leave this field empty.
Profile Identifier Attribute* (100 characters max.)
-
What it is: The LMS user profile attribute that will be used as “user identifier” when requesting the token.
The connector will typically read this attribute from the current learner and insert it into the payload or request. -
Common examples:
-
userid/user_id -
personnelNumber -
Any other profile attribute that your integration decided to use as primary identifier.
-
-
How to choose:
-
Check with your integration / IdP team which LMS attribute the token service expects
-
Enter that attribute name exactly as defined in your system.
-
-
Important:
This field is also marked as mandatory in the UI. If it is required for your connector, leaving it empty will lead to validation errors or runtime failures.