Skip to main content

API Rest - Autenticazione su Digital Archive

 

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

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

L'autenticazione può essere effettuata 

 

Ogni utente personale registrato in TSDigital e le sue chiavi tecniche personali possiedono di default i permessi necessari per creare item. Una chiave tecnica applicativa non ha il permesso di creare nuovi item a meno che non sia esplicitamente richiesto.

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 tutti i dati anagrafici e le preferenzeusername dell'azienda.utenza Perche dettaglideve suieffettuare singoliil campi, vedi Struttura di un item.login.
  • Password: se true, non verrà automaticamente generata una chiave tecnica con accesso all'azienda. Nella maggioranza dei casi, è preferibile non far crearecontiente la chiavepassword tecnicadell'utenza scelta per il login.
  • Options: se true, l'utente che sta effettuando la creazione dell'azienda non verràsono indicatonecessari, comeprevisti utenteper ownerfuture della stessa e non riceverà alcun ruolo su di essaimplementazioni

noOwnership, validated certified sono utilizzabili solo da chiavi tecniche applicative con ruoli speciali

Risposte

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

HTTP 202200

L'operazione è avvenuta con successo e viene rilasciato il processoSecurityToken dida creazioneutilizzare èper statol'autenticazione presonelle inchiamate carico.alle API rest. Da considerare anche il PasswordExpirationDate che 

Body della risposta:

{
  "UserIdentity": {
    "SecurityToken": "string",
    "PasswordExpirationDate": "2022-02-14T08:48:20.753Z"
  },
  "ServiceInfo": {
    "ServiceVersion": "string",
    "Info": [
      {
        "Name": "string",
        "Value": "string"
      }
    ]
  }
}
  • id: identificativo dell'item creato
HTTP 400

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

HTTP 401

Il token autorizzativo è scaduto, invalido o non è stato specificato.

HTTP 403

Il token autorizzativo fornito è valido, ma l'utente non ha i permessi necessari a creare un item

HTTP 500

Il server ha riscontrato un errore inaspettato nell'esecuzione della richiesta di creazione item

HTTP 502

Il server ha riscontrato un errore inaspettato nel comunicare con un servizio dal quale dipende per poter completare il processo (ad esempio, il servizio di auth non risulta essere disponibile)

Tutte le risposte d'errore condividono il seguente formato per il body di risposta:

{
  "Message": "An error has occurred.",
  "ExceptionMessage": "Username o password errati.",
  "ExceptionType": "KnosCS.Exceptions.KnosException",
  "StackTrace": "   at KnosCS.Providers.Implementations.UserAuthenticationService.BasicAuthentication(BasicUserAuthenticationData authenticationData, String callerKey)\r\n   at KnosCS.Business.Implementations.UserManager.Authenticate(BasicUserAuthenticationData authenticationData, String callerKey)\r\n   at Teamsystem.CCT.WCF.Services.UserAuthentication.BasicAuthentication(BasicAuthenticationInputDC BasicAuthentication)\r\n   at lambda_method(Closure , Object , Object[] )\r\n   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_2.<GetExecutor>b__2(Object instance, Object[] methodParameters)\r\n   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__15.MoveNext()",
  "InnerException": {
    "Message": "An error has occurred.",
    "ExceptionMessage": "106 - Presenti errori - <error ExceptionId=\"b8f8d281-0648-44cd-8e8c-9ff28a15e3bd\" Number=\"106\" Description=\"Utente o password errati\" Source=\"[BackEndTest01] Login\"  />",
    "ExceptionType": "System.Exception",
    "StackTrace": null
  }
}
  • code: corrisponde al codice d'errore HTTP ritornato (es: 500)
  • message: messaggio d'errore (es: Errore interno del server)
  • status: descrizione a parole del codice d'errore HTTP (es: Internal Server Error)
  • subErrors: eventuali errori innestati in quello ritornato
  • timestamp: data ed ora di ritorno dell'errore
  •