Credentials

<< Fare clic per visualizzazione il sommario >>

Percorso:  Gli oggetti del mondo Jamio > I tipi strutturati >

Credentials

Risorsa di tipo credenziali che descrive le proprietà utili ad accedere ed utilizzare un servizio.

E' necessario richiamare le API del servizio Jamio Service, progettando un processo che permetta di gestire le operazioni CRUD sulla risorsa, eventualmente prevedendo appositi Data per l'inserimento dei dati.

 

Il tipo è una struttura composta dalle seguenti proprietà:

 

Nome

Descrizione

Tipo

Id

Identificativo delle credenziali.

String

RepositoryId

Identificativo dell'area Jamio openwork in cui le credenziali sono disponibili.

String

Name

Testo utile ad identificare le credenziali, esso è univoco.

String

Description

Testo utile a fornire una descrizione delle credenziali.

String

Nickname

Nome univoco, un identificativo di business, assegnato alle credenziali.

Il Nickname delle Credenziali è univoco per area. Per quanto riguarda i caratteri speciali ammessi:

può contenere lettere maiuscole e minuscole dell'alfabeto inglese, numeri e i caratteri "-", "_", "."

non è case-sensitive

non può iniziare con uno dei caratteri "-", "_", "."

non può terminare con "."

non può contenere spazi

String

AuthorizationScheme

Tipologia di autorizzazione a cui le credenziali si applicano.

A seconda del tipo di autorizzazione, nelle proprietà Fields vanno riportati dei campi specifici, come descritto nella sezione Commenti. Se le credenziali hanno uno scopo di utilizzo diverso da uno degli schemi suddetti, occorre impostare AuthorizationScheme a valore 0 ed utilizzare la proprietà Scope per specificare il caso d'uso.

AuthorizationScheme

Owner

Collegamento alla risorsa (ad esempio di tipo Identity) che ne è proprietaria.

Reference

Scope

Rappresenta il caso d'uso per cui le credenziali sono definite.

La proprietà è utile a specificare utilizzi delle credenziali diversi dagli schemi autorizzativi disponibili in AuthorizationScheme ed è obbligatoria quando AuthorizationScheme è uguale a 0. Per ogni tipo di Scope, nelle proprietà Fields vanno riportati dei campi specifici come descritto nella sezione Commenti. Attualmente può assumere il seguente valore: RemoteQualifiedCertificate.

String

Fields

Rappresenta una collezione di campi aggiuntivi, specifici per il tipo di autorizzazione indicata nel parametro AuthorizationScheme. Vedi sezione Commenti.

DataSet

Created

Proprietà in sola lettura, inizializzata alla creazione delle credenziali e riporta la data e l’ora della creazione, il collegamento all’identità che ha effettuato la creazione e il collegamento alla posizione organizzativa ricoperta dall’identità nel caso in cui quest’ultima abbia una collocazione organizzativa. Questa proprietà viene valorizzata una sola volta durante il ciclo di vita di una configurazione di operazione ed è collegata all’azione Create.

Status

LastUpdated

Proprietà in sola lettura, inizializzata in modo analogo alla proprietà Created all’atto della creazione delle credenziali e valorizzata ad ogni aggiornamento della configurazione successivo alla sua creazione. Riporta la data e l’ora dell’aggiornamento, il collegamento all’identità che ha effettuato l’aggiornamento e il collegamento alla posizione organizzativa ricoperta dall’identità nel caso in cui quest’ultima abbia una collocazione organizzativa. Questa proprietà è collegata all’azione Update.

Status

 

Commenti

Le credenziali si distinguono per gli schemi autorizzativi a cui sono applicabili:

Custom Credentials

Network Credentials,

Basic Authorization

Api Key

OAuth 2.0

 

Per ogni tipologia di schema autorizzativo, occorre inserire nei campi aggiuntivi della proprietà Fields i seguenti parametri specifici:

 

Tipo schema autorizzativo

Fields previsti per tipo di autenticazione

Descrizione

Custom Credentials

CustomFields (DataSet)

Parametri definiti dall'utente, da usare come placeholders contrassegnati dai caratteri ## nei fields di PlugConfiguration, PlugOperationConfiguration e in RestRequest.

Per esempio, se l’utente ha definito i parametri UserName e Password essi verranno sostituiti nella querystring ricavata da Parameters, in BodyString, in BodyDataset e nei valori di Headers (non nelle chiavi) ai rispettivi placeholder "##UserName##" e "##Password##".

Network Credentials

UserName (String)

Nome utente utilizzato per definire le credenziali utilizzate nello schema di autenticazione.

Password (String)

Password utilizzata per definire le credenziali utilizzate nello schema di autenticazione.

 

Basic Authorization

UserName (String)

Nome utente utilizzato per definire le credenziali utilizzate nello schema di autenticazione.

Password (String)

Password utilizzata per definire le credenziali utilizzate nello schema di autenticazione.

ApiKey

ApiKey (String)

Chiave di autenticazione.

ApiKeyParam (String)

Nome dell’header o del parametro di query string a cui è associata la chiave.

ApiKeyLocation (Integer)

Posizione dell’ApiKey, può assumere i valori:

0 (valore di default) in questo caso viene aggiunto un header “Authorization” con valore “<ApiKeyParam> < ApiKey >” ;

1 in questo caso viene aggiunto in querystring “<ApiKeyParam>=< ApiKey >

Oauth2.0

AccessToken (String)

Token di accesso fornito dall'Authorization Server all'applicazione Client, dopo la sua autorizzazione. Ha in genere una scadenza. Per richiedere il token di accesso e il token di refresh possono essere utilizzati i metodi GetOauth2TokenResourceOwnerGrantper e GetOauth2TokenWithClientGrant.

TokenType (String)

Tipo di token. Questo valore determina il modo con cui viene costruito l’Authorization header per richiedere una risorsa. Attualmente il valore di default è “Bearer” ed è l’unico permesso.

ClientId (String)

Identificativo dell'applicazione Client fornito durante la registrazione della stessa sul Resource Server.

ClientSecret (String)

Codice segreto (password) fornito durante la registrazione dell'applicazione Client sul Resource Server.

RefreshToken (String)

Token per aggiornare l’AccessToken fornito all'applicazione Client, dopo la sua autorizzazione.

TokenEndpoint (String)

URL dell’Authorization Server per ottenere un AccessToken aggiornato.

Secondo le specifiche OAuth2.0, deve terminare con “/OAuth/Token”.

BasicAuthorizationHeader (Boolean)

Modalità con cui il Client esegue l'accesso all’Authorization Server per richiedere un AccessToken aggiornato. Può assumere i valori:

false per Client Credentials in body (valore di default);

true per Basic Authorization Header.

TokenScope (String)

Scopo per cui si richiede l’AccessToken. È una lista di stringhe delimitate da spazi.

GrantMode (Integer)

Può assumere i seguenti valori:

0 Refresh Token;

1 Resoruce Owner Grant;

2 Client Grant.

 

 

Quando le Credentials devono essere utilizzate per casi d'uso diversi dagli schemi autorizzativi suddetti, si deve utilizzare la proprietà Scope ed impostare AuthorizationScheme a valore 0. Ad esempio, per gestire delle credenziali utili alle funzionalità di firma digitale si può specificare la proprietà Scope a valore RemoteQualifiedCertificate e AuthorizationScheme = 0.

 

Per ogni tipologia di Scope, occorre inserire nei campi aggiuntivi della proprietà Fields i seguenti parametri specifici:

Scope

Fields

Descrizione

RemoteQualifiedCertificate

SignerName (string)

Identifica il fornitore del servizio (es. Aruba, ArubaOnComped, etc).

Url (string)

Specifica l'URL del servizio di firma remota.

Type (string)

Rappresenta l’identificatore del tipo di signer. Ad esempio "aruba" per la connessione al servizio di firma remota di Aruba.

User (string)

E' il valore dello username del titolare del certificato da impiegare per la firma.

TypeOtpAuth (string)

Il valore del DOMINIO a cui il certificato Aruba è associato (utilizzare il valore “firma” se non si dispone di un dominio specifico).

DelegatedDomain (string)

Rappresenta il dominio a cui appartiene l’utenza delegata.

DelegatedUser (string)

Rappresenta lo username del delegato alla firma digitale.

DelegatedPassword (string)

Specifica la password dell'utente delegato alla firma digitale.