Integra THRON su un canale esterno: guida per sviluppatori
Implementazione server-side di una vetrina di asset su sito, portale o applicazione: autenticazione JWT, recupero contenuti, filtri e riproduzione tramite Player.
Cosa ti serve prima di iniziare
Assicurati di avere tutte le credenziali prima di iniziare. Alcune le fornisce il team THRON, altre le ottieni dal Content Manager che gestisce la piattaforma.
Credenziale |
Come si ottiene |
|---|---|
client_id |
Fornito da THRON tramite support@thron.com |
client_secret |
Fornito da THRON tramite support@thron.com |
username utente da impersonificare |
Richiesto al Content Manager — vedi sezione dedicata qui sotto |
tenantId |
Il sottodominio del tuo accesso THRON (es. |
pKey della cartella |
Generata dalla Custom Application in piattaforma dal Content Manager |
Come richiedere l'utente al Content Manager
Per accedere ai contenuti di una cartella via API, THRON verifica che l'utente con cui operi abbia i diritti su quella cartella. Non puoi usare solo le credenziali dell'app: hai bisogno di un utente THRON reale da impersonificare nelle chiamate — è il meccanismo che si chiama User Impersonation.
Chiedi al Content Manager di:
Creare un utente THRON dedicato all'integrazione (es.
api-websiteointegration-[nome-progetto])Assegnargli diritti di lettura sulla cartella che vuoi esporre
Comunicarti lo username — non ti serve la password
## Articoli di approfondimento
- Configurare Gruppi e UtentiAttenzione: client_id e client_secret appartengono all'app esterna JWT — un'applicazione separata dalla Custom Application usata per la pKey. Conservali sempre lato server; non esporli mai al browser o al frontend.
Autenticazione
THRON usa OAuth 2.0 con token JWT. Per accedere a contenuti e cartelle — che verificano i permessi di accesso tramite ACL — è necessaria la User Impersonation: il sistema si autentica con le credenziali dell'app ma opera con i diritti dell'utente dedicato che ha accesso alla cartella.
Flusso consigliato: User Impersonation
Usa questo flusso ogni volta che devi accedere a contenuti o cartelle specifici.
POST /api/v1/authentication/oauth2/token HTTP/1.1
Host: {tenantId}.thron.com
Content-Type: application/x-www-form-urlencoded
grant_type=urn:thron:oauth:user-impersonation
&scope=
&client_id={client_id}
&client_secret={client_secret}
&subject={username}
In risposta ricevi access_token (JWT) e refresh_token. Il token dura 8 ore (expires_in: 28800).
Flusso alternativo: Client Credentials
Usa questo flusso solo per operazioni che non richiedono accesso a contenuti o cartelle specifici. Senza User Impersonation il token non ha ACL sulle cartelle e non restituisce contenuti.
POST /api/v1/authentication/oauth2/token HTTP/1.1
Host: {tenantId}.thron.com
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials
&scope=
&client_id={client_id}
&client_secret={client_secret}
Rinnova il token
Quando l'access token scade (risposta 403 Session Expired) usa il refresh token per ottenerne uno nuovo senza ripetere l'autenticazione completa.
POST /api/v1/authentication/oauth2/token HTTP/1.1
Host: {tenantId}.thron.com
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token
&refresh_token={refresh_token}
&client_id={client_id}
In risposta ricevi un nuovo access_token e un nuovo refresh_token. Quello precedente non è più valido.
Implementa il refresh in anticipo rispetto alla scadenza — non aspettare il 403.
## Articoli di approfondimento
- Documentazione API THRONJWT e XTokenID: quando usare quale
Le nuove API THRON usano il JWT nell'header Authorization:
Authorization: Bearer {access_token}
Alcune API legacy richiedono ancora il token XTokenID nell'header X-TokenID. Per ottenerlo dal JWT:
GET /api/v1/authentication/token/legacy HTTP/1.1
Host: {tenantId}.thron.com
Authorization: Bearer {access_token}
Risposta:
{ "token": "e1aff403-6583-40f1-961c-f91458aa2112" }
Usa il valore restituito aggiungendo l'header X-TokenID: {token} alle chiamate che lo richiedono.
## Articoli di approfondimento
- Documentazione API THRONRicerca asset e filtri
Per recuperare gli asset della cartella usa le API di ricerca documentate nel portale ufficiale. Le chiamate vanno eseguite con il token ottenuto tramite User Impersonation: solo così il sistema restituisce i contenuti a cui l'utente impersonificato ha accesso.
Se è configurato un attributo filtro in piattaforma (select o multiselect), il flusso tipico è:
Recupera i valori disponibili dell'attributo → usali per costruire i filtri nell'interfaccia
Esegui la ricerca degli asset applicando il valore selezionato dall'utente
Recupera sempre i valori filtro da API — non hardcodarli nel frontend. In questo modo i filtri si aggiornano automaticamente quando il Content Manager modifica i valori in piattaforma.
## Articoli di approfondimento
- Documentazione API THRONRiproduzione dell'asset
Hai due opzioni per mostrare un asset sul canale esterno.
Player THRON (consigliato)
Usa la pKey della cartella come parametro sessId nell'embed script e l'ID del contenuto come parametro xcontentId. Il Player gestisce automaticamente formati, responsive, accessibilità e aggiornamenti di stile.
Player nativo del browser
Usa l'URL diretto del file restituito dall'API. Adatto se hai pieno controllo sull'interfaccia e non hai bisogno delle funzionalità del Player THRON.
## Articoli di approfondimento
- THRON Player: nuova versioneConfigurazione consigliata
Preset standard
Flusso di autenticazione |
User Impersonation — necessario per accedere a cartelle e contenuti |
Conservazione credenziali |
Lato server, mai esposte al browser o al frontend |
Gestione token |
Implementa il refresh automatico prima della scadenza |
Riproduzione |
Player THRON con pKey, salvo esigenze di UI completamente custom |
Valori filtro |
Recuperali sempre da API — non hardcodarli nel frontend |
Serve aiuto?
Per problemi tecnici, scrivi a support@thron.com.