Chiamare le API REST utilizzando il client HTTP

IBM Sterling® Order Management System supporta l'autenticazione di base e standard per le chiamate alle API REST. Per impostazione predefinita, l'autenticazione REST è impostata sull'autenticazione standard. Per definire lo stile di autenticazione che si desidera utilizzare, completare la seguente procedura:

  1. Configurare le proprietà dello stile di autenticazione.
  2. Riavviare i server delle applicazioni.
  3. Avviare l'API REST configurando lo stile di autenticazione HTTP.

Configura proprietà stile di autenticazione

Per impostazione predefinita, servlet.authstyle è impostato su STANDARD. IBM consiglia l'autenticazione standard in un ambiente superiore. È possibile utilizzare lo stile di autenticazione come BASIC o STANDARD in base alle proprie esigenze aziendali.

Configurare xapirest.properties per il proprio tipo di ambiente corrente. Impostare la proprietà servlet.authstyle su BASIC o STANDARD. In base al tipo di ambiente, è possibile impostare le proprietà nel file customer_overrides.properties nel toolkit di sviluppo o utilizzando l' amministratore di gestione del sistema nell'istanza cloud di Sterling™ Order Management System.

Per ulteriori informazioni su xapirest.properties, vedere xapirest.properties.

Se si desidera utilizzare HTTP REST XAPI Tester per lo sviluppo e il test, vedere Impostazione di HTTP REST XAPI Tester.

Riavvia server delle applicazioni

È necessario riavviare tutti i server delle applicazioni quando si cambia stile di autenticazione.

Per ulteriori informazioni, consultare Gestione dei processi del server sulla piattaforma di nuova generazione.

Chiamare l'API REST configurando lo stile di autenticazione HTTP

Autenticazione STANDARD
Per impostare lo stile di autenticazione STANDARD, attenersi alla seguente procedura:
  1. Chiamare l'API di accesso tramite REST utilizzando il seguente URL :
    http://<ip-address>:<port>//smcfs/restapi/invoke/login

    Metodo - POST

    Tipo supporto - application/json

  2. Fornire il payload al login:
    {                                                                      
    "LoginID" : "yourUserLogin",                                                  
    "Password" : "UserPassword"                                                
    } 
    L'API restituisce i seguenti risultati:
    "UserGroupID": "ItemAdministratorGroup",                              
    "UserToken":                                                            
    "mXffVPKgo9HUoftxg0HsyX3uQQP6o4LmAG3HHnfiVTrtQvx3dyYUX8n6793wggmU15",
    "UserName": "Administrator",
  3. Utilizzare il UserToken generato durante la chiamata di login nelle chiamate successive. L'utente include _loginid e _token come parametri di query all' URL dell'API REST.
    Ad esempio, per avviare l'API del server (GET), utilizzare il seguente URL :
    http://localhost:<port>/smcfs/restapi/server?_loginid=admin&_token=mXffVPKgo9HUoftxg0HsyX3uQQP6o4LmAG3HHnfiVTrtQvx3dyYUX8n6793wggmU15
Nota: per l'autenticazione STANDARD è necessario utilizzare un client HTTP come Postman. Il tester HTTP REST XAPI supporta solo l'autenticazione BASIC.
Autenticazione di base
Il tester HTTP REST XAPI supporta solo l'autenticazione BASE. Tuttavia, se si desidera utilizzare il proprio client HTTP, è necessario eseguire i seguenti passaggi: Per impostare lo stile di autenticazione BASIC, è necessario fornire un'intestazione ed eseguire la seguente codifica base64 :
  1. Ottieni un token con codifica base64 costituito dal nome di accesso utente e dal segreto utente. Concatenare questi valori utilizzando i due punti. Ad esempio, se il nome utente è testuser e la password è testsecret, utilizzando un codificatore base64 , è possibile eseguire il seguente comando:
    echo -n "testuser:testsecret"|openssl base64
    Risultati:
    dGVzdHVzZXI6dGVzdHNlY3JldA==

    Utilizzare questo token come token di base per l'autenticazione durante una chiamata API REST.

  2. Richiama l'API REST utilizzando il token base64 di base.
    Includere il seguente valore nell'intestazione della richiesta HTTP :
    Authorization: BASIC 
    Ad esempio:
    curl --location --request GET 'http://localhost:/smcfs/restapi/server'
    --header 'Authorization: Basic dGVzdHVzZXI6dGVzdHNlY3JldA=='
    --header 'Content-Type: application/json'

Per ulteriori informazioni sulla chiamata del servizio API REST, vedi Richiamo dei servizi REST.

Per ulteriori informazioni, vedi Sicurezza API.