Skip to main content

API Rest - Autenticazione su Digital Archive

L'autenticazione su sistema Archive è fattibile attraverso 2 strategie, in funzione dei servizi e API che dovranno essere utilizzate.

API Digital V1 / API Rest

Nel caso in cui si debba effettuare una autenticazione utile ad effettuare chiamate sulle API Digital V1 o sui servizi di consultazione dei documenti è necessario ottenere un token JWT attraverso la procedura di autenticazione standard del servizio digital.

Seguire queste indicazioni per effettuare l'autenticazione corretta:

https://digital-docs.ts-paas.com/books/autenticazione-e-autorizzazione

L'autenticazione dovrebbe essere effettuata attraverso credenziali applicative estratte dal portale digital. Tali credenziali consentono di avere una coppia "key e secret" che una volta configurati nell'applicativo non dovranno più essere manutenute.

 

Utilizzo dei servizi WCF / canale SOAP (obsolete)

Nel caso in cui si debba procedere ad una integrazione attraverso i metodi SOAP è necessario effettuare le chiamate verso il sistema legacy

Tale autenticazione, effettuabile sia attraverso chiamate REST che soap WCF restituisce un token valido da utilizzare per le chiamate successive. 

L'invio di una richiesta di autenticazione è documentata via SWAGGER al link

/swagger/ui/index#!/UserAuthentication/UserAuthentication_BasicAuthentication

L'autenticazione può essere effettuata attraverso la chiamata al servizio

PRODUZIONE: [POST] https://cct-wcf.teamsystem.com/knos/wcf/CS/api/UserAuthentication/BasicAuthentication

TEST: [POST] https://cct-wcf-test.teamsystem.com/knos/wcf/CS/api/UserAuthentication/BasicAuthentication

Durante il processo di autenticazione sul servizio SOAP devono essere fornite le informazioni di accesso (utente e password) di Digital Archive oppure, se il cliente è già stato attivato e migrato sul portale digital, è necessario fornire delle credenziali applicative staccate dal portale Digital.

Header

Non sono richiesti.

Il Content-Type deve essere application/json

Body

Il body della richiesta deve avere il seguente formato:

{
  "UserName": "string",
  "Password": "string",
  "Options": [
    {
      "Name": "string",
      "Value": "string"
    }
  ]
}
  • Username: contiene username dell'utenza che deve effettuare il login.
  • Password: contiente la password dell'utenza scelta per il login.
  • Options: non sono necessari, previsti per future implementazioni

Risposte

L'operazione è avvenuta con successo se e solo se il codice HTTP della risposta è 200. Ogni altro codice di risposta indica uno stato di errore.

HTTP 200

L'operazione è avvenuta con successo e viene rilasciato il SecurityToken da utilizzare per l'autenticazione nelle chiamate alle API rest. Da considerare anche il PasswordExpirationDate che rappresenta la data di scadenza della password.

E' fondamentale valutare PasswordExpirationDate in quanto se rappresenta una data precedente alla data corrente implica che il token rilasciato è valido solo per effettuare il cambio password. In tal caso affidarsi al portale e alle pagine del front end per effettuare il cambio password.  Tutte le chiamate effettuate con un token rilasciato da password scaduta andranno in errore.

Body della risposta:

{
  "UserIdentity": {
    "SecurityToken": "string",
    "PasswordExpirationDate": "2022-02-14T08:48:20.753Z"
  },
  "ServiceInfo": {
    "ServiceVersion": "string",
    "Info": [
      {
        "Name": "string",
        "Value": "string"
      }
    ]
  }
}
HTTP 400

Uno o più parametri forniti nella richiesta sono errati, o mancano dei parametri obbligatori.

{
  "code": 400,
  "status": "BADREQUEST",
  "error": "BadRequest",
  "message": "I parametri username e password sono obbligatori",
  "timestamp": "2022-02-14T12:20:47.9466829+01:00"
}
HTTP 401

Le credenziali fornite non sono corrette.

{
  "code": 401,
  "status": "UNAUTHORIZED",
  "error": "Unauthorized",
  "message": "Username o password errati.",
  "timestamp": "2022-02-14T10:45:44.1219662+01:00"
}

HTTP 500

Il server ha riscontrato un errore inaspettato nell'esecuzione della richiesta di creazione item. Nel caso il problema si ripeta contattare l'assistenza.