Generate a custom platform token for the Hosted Insight Panel component
Generate a custom platform token for the Hosted Insight Panel component
Platform tokens are special JSON web tokens that can be used to query almost any Coveo API as a specific user. To add custom data such as additional identities to a platform token, you must generate a custom platform token.
Note
Currently, the Search API doesn’t support platform token authentication. |
To generate a custom platform token
-
In the new Apex class, enter the following template:
global with sharing class <MY_APEX_CLASS> implements CoveoV2.InsightTokenGeneratorInterface { public String generateInsightToken(Map<String, Object> param) { String token = ''; Map<String, Object> platformTokenParams = new Map<String, Object>(); // Add required privileges for Hosted Insight Panel List<CoveoV2.PlatformToken.TokenPrivilege> tokenPrivileges = CoveoV2.PlatformToken.buildInsightTokenPrivileges(); platformTokenParams.put('privileges', tokenPrivileges); // Add additional user identities List<CoveoV2.UserIdentity> additionalIdentities = new List<CoveoV2.UserIdentity>{ new CoveoV2.UserIdentity('john@doe.com'), new CoveoV2.UserIdentity('john@doe.com', 'Email Security Provider'), new CoveoV2.UserIdentity('john@doe.com', 'Email Security Provider', 'User') }; CoveoV2.PlatformToken.SearchTokenOptions searchTokenOptions = new CoveoV2.PlatformToken.SearchTokenOptions(); searchTokenOptions.userIds.addAll(additionalIdentities); platformTokenParams.put('search', searchTokenOptions); token = CoveoV2.Globals.generatePlatformToken(platformTokenParams); return token; } }
Where you replace
<MY_APEX_CLASS>
with the name you chose for your new Apex class.ImportantThe Apex class must be
global
. Otherwise, it won’t appear as an option in the Coveo Hosted Insight Panel component’s Token Generator picklist.TipFor information on specifying additional user identities, see the Globals class reference documentation.
-
Save the Apex class.
What’s next?
Once you have an Apex class that implements the CoveoV2.InsightTokenGeneratorInterface
, you’ll see it appear as an option in the Coveo Hosted Insight Panel component’s Token Generator picklist.
You can now select your new Apex class to override the default platform token for your Hosted Insight Panel configuration.