3.2. Token API Autenticazione per un accesso semplice e sicuro alle API web

Panoramica

Per supportare gli accessi automatizzati all'API del server, è stata introdotta una procedura basata su token API . L'obiettivo è consentire agli script e alle integrazioni un'autenticazione sicura senza dover utilizzare direttamente le password degli utenti . Inoltre, l’infrastruttura di autenticazione è stata ampliata in modo da consentire la configurazione parallela di più provider OpenID . Il vantaggio di un token API separato risiede anche nel fatto che la chiave API può essere facilmente cancellata senza compromettere l’utente in questione.

Token API per accessi automatizzati

I token API fungono da metodo di autenticazione consigliato per gli accessi alle API REST gestiti da script. Sono associati a un account utente esistente e ne ereditano le autorizzazioni. Ciò consente alle applicazioni automatizzate di accedere all’API per conto di un utente senza dover conoscere o memorizzare la sua password.

A differenza dell’ autenticazione di base, in cui vengono trasmessi il nome utente e la password, i token API possono essere gestiti indipendentemente dalla password dell’utente. Se un token viene compromesso, può essere revocato e rigenerato, senza che sia necessario apportare modifiche all’account dell’utente.

Piano di sicurezza

Un token API è costituito da un ID pubblico del token e da un segreto [Secret].

AppServer Servizio > Pagina di registrazione "Login"

Figura 3.1. AppServer Servizio > Pagina di registrazione "Login"

Generare tramite il pulsante “Casuale” [Random] un ID e un codice segreto.

Inserire obbligatoriamente un utente. Tutti gli utenti registrati nella sezione " Gestione dei diritti [Rights administration] " possono essere inseriti qui.

Inoltre, i token API possono essere soggetti a restrizioni facoltative, ad esempio:

  • determinati intervalli di indirizzi IP

  • definiti User-Agent

Queste restrizioni riducono il rischio di abuso e consentono un utilizzo controllato degli accessi automatizzati.

Copiare utilizzando il pulsante " Copia [Copy]" l'ID, il segreto e le altre impostazioni negli appunti.

Il codice segreto [Secret] viene visualizzato esclusivamente durante la creazione e non può più essere letto in seguito. In questo modo si impedisce che i dati di accesso vengano rivelati in un secondo momento.

[Nota]Nota

Salvare la stringa ApiToken prima di chiudere la finestra di dialogo.

Dopo aver confermato con OK, l'inserimento viene effettuato.

"Secret" non viene più visualizzato.

Figura 3.2. "Secret" non viene più visualizzato.

Autenticazione OpenID avanzata

Le estensioni sono ora disponibili tramite un'interfaccia utente grafica. In questo modo non è più necessario modificare manualmente i file di configurazione.

Figura 3.3. 

Abilita l'autenticazione di base senza richiesta al server (Non sicuro) [Enable Basic Authentication without a server request (Insecure)]: se l'opzione è attivata, il nome utente e la password vengono trasmessi in chiaro.

Provider di accesso [Login Provider]: per le soluzioni AppServer è disponibile un solo provider OpenID, che va configurato qui. Si tratta del provider OpenID visualizzato durante la procedura di accesso a 3Dfindit.

Oltre al provider di accesso [Login Provider] predefinito, cliccando sul pulsante + è possibile configurare un numero illimitato di provider OpenID [OpenID Provider] aggiuntivi. In questo modo è possibile supportare contemporaneamente diverse fonti di identità, il che è particolarmente importante per le integrazioni e gli scenari di automazione.

La configurazione comprende le seguenti impostazioni:

  • Emittente

  • ClientId

  • CientSecret

  • Ambiti

  • UserNameClaim

  • Gruppi obbligatori

  • RolesAsPermission: impostazione da applicare quando nel token API sono inclusi dei ruoli

  • Utente basato su sessione

  • MergeUserInfo

In questo modo è possibile configurare ulteriori provider indipendentemente dalle impostazioni presenti in Gestione dei diritti [Rights administration] > Banche dati utenti [User databases] > OpenID .

Figura 3.4.