Passa al contenuto principale
Versione: 2025.002.000

Autenticazione

Per effettuare richieste verso l'API TSE in Cloud è necessario utilizzare solo metodi di autenticazione supportati.
Nel prossimo paragrafo troverai un diagramma di flusso che ti guiderà nella scelta.

I metodi attualmente supportati sono con token di accesso.

Come posso ottenere l'autenticazione?

Questa sezione documenta i modelli di autenticazione supportati. Scenario M2M Molte volte è necessario un canale di comunicazione sicuro e autorizzato tra diverse parti di un sistema, come due servizi back-end di applicazioni diverse. L'aspetto chiave di queste comunicazioni risiede nel fatto che l'elemento per stabilire la fiducia nel sistema è il client. In TSE a un client viene assegnata una chiave API tecnica che viene utilizzata durante la fase di login per riconoscerlo e abilitarlo all'uso dei servizi.

La figura illustra il flusso di autenticazione (Login).

API Gateway

L'autenticazione avviene attraverso l'uso di servizi esposti sull'api gateway


Generazione del token

Durante questa fase, il client utilizza la chiave API per ottenere un token JWT che verrà utilizzato nelle chiamate successive per accedere alle risorse dell'applicazione. Per informazioni su come ottenere una chiave API, consulta questo link. L'applicazione deve richiedere il token tramite POST con parametri in x-www-form-urlencoded a un percorso specifico

  • webapi_base_url/auth/token

Specificando nel corpo

Parametro del moduloDescrizione
grant_type obbligatorio“token” Tipo: stringa
username obbligatorioadmin_<cid>Tipo: stringa
token obbligatorioBearer Chiave API Tipo: stringa
scope obbligatorioIndica il contesto di accesso per cui si richiede l'autorizzazione. I valori possibili sono: webapi_admin - utilizzato ad esempio per recuperare l'elenco degli ambienti <environment> uno dei qualsiasi ambienti di lavoro registrati Tipo: stringa

In risposta alla chiamata, si ottiene un codice di autorizzazione costituito da un token JWT, la cui durata è riportata nella risposta della chiamata nel parametro "expires_in" (solitamente della durata di 8 ore).

pericolo

È importante che nella sezione del token la chiave API sia preceduta dalla parola Bearer ad esempio

Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ3ZWJhcGlhZG1pbiIsIndlYmFwaTphdXRoZW50aWNhdGlvbjpzY29wZSI6Imh1Yl9hZG1pbix0c2UxMHdlYmFwaXRlc3QyX2FseXRzZTEwd2ViYXBpdGVzdDIiLCJqdGkiOiIwMjdkYmRlMC03OTg5LTQ0MTItODliOC0yM2FkYTVjNTdjZTIiLCJpYXQiOjE2NTg3NDA4NzcsImlzcyI6IkFseUNFU3J2MlNydklzc3VlciIsImF1ZCI6IkFseUNFU3J2MlNydkF1ZGllbmNlIn0.p1oEy4LJyFuTKIjJynYw4zQQQXIYPO3WfLe8VTNh7XA

Chiamata WebApi in azione

Le chiamate ai servizi dell'applicazione saranno autenticate con un token Bearer costituito da un token JWT ottenuto con la chiamata di Login. Di seguito sono riportati alcuni esempi di chiamate get per i clienti.

    var https = require('follow-redirects').https;
var fs = require('fs');

var options = {
'method': 'GET',
'hostname': 'webapicorso1.ts-paas.com',
'path': '/api/v1/webapicorso1_alywebapicorso1/CO/CustomerSupplierCO/4?company=2',
'headers': {
'Authorization-Scope': 'webapicorso1_alywebapicorso1',
'Content-Type': 'application/json',
'Authorization': '••••••'
},
'maxRedirects': 20
};

var req = https.request(options, function (res) {
var chunks = [];

res.on("data", function (chunk) {
chunks.push(chunk);
});

res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});

res.on("error", function (error) {
console.error(error);
});
});

req.end();