Sicurezza
L'API relativa alla sicurezza permette di gestire gli utenti di un registrar, i gruppi da associare agli utenti e gli indirizzi IP abilitati per l'accesso a un particolare servizio. Per tutti i metodi è richiesta la presenza dello scope security nel token.
Gestione utenti
E’ possibile ottenere i dati di tutti gli utenti o di uno specifico utente del Registrar, ottenere i dati del proprio utente autenticato, creare o cancellare un utente.
Per quanto riguarda l’associazione fra utenti e gruppi, è possibile ottenere i dati dei gruppi associati ad uno specifico utente o all’utente autenticato ed ottenere i requisiti che una password di un utente deve soddisfare.
Creare un utente
POST https://api.nic.it/v1/users
Il Registrar può creare un utente come nell'esempio seguente:
curl -X POST "https://api.nic.it/v1/users" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer token..." \
-d '
{
"username" : "giulio.cesare",
"name" : "Giulio",
"lastName" : "Cesare",
"email" : "giulio.ceare@test-giulio-cesare.it",
"password" : "Abcdef-123"
}`
Info
Al primo accesso il nuovo utente dovrà confermare i propri dati, verificare l'email e modificare la password.
Ottenere un utente tramite id
GET https://api.nic.it/v1/users/{userId}
E' possibile ottenere i dati di un utente tramite id come nell'esempio seguente:
Ottenere i dati dell'utente autenticato
GET https://api.nic.it/v1/user
Ogni utente autenticato può ottenere i dati del proprio utente come nell'esempio che segue:
Cancellare un utente tramite id
DELETE https://api.nic.it/v1/users/{userId}
E' possibile cancellare un utente tramite id come nell'esempio seguente:
Info
E' possibile cancellare tutti gli utenti a esclusione dell'utente principale TAG-REG
Ricercare gli utenti
GET https://api.nic.it/v1/users
La ricerca degli utenti associati a un Registrar può essere fatta utilizzando vari parametri di ricerca e operatori (ricerca avanzata).
Di seguito sono riportati i parametri e gli operatori supportati:
| Parametro | Tipo | Cardinalità | Operatori supportati | Operatore default |
|---|---|---|---|---|
| username | String | Singolo | eq, ne, in, notIn | eq |
| name | String | Singolo | eq, ne, in, notIn, contains, startsWith, endsWith | eq |
| lastName | String | Singolo | eq, ne, in, notIn, contains, startsWith, endsWith | eq |
| String | Singolo | eq, ne, in, notIn | eq | |
| group | String | Singolo | - | - |
| created | DateTime | Multiplo | eq, ne, in, notIn, ge, gt, le, lt, between | eq |
| lastupdate | DateTime | Multiplo | eq, ne, in, notIn, ge, gt, le, lt, between | eq |
| lastPasswordChange | DateTime | Multiplo | eq, ne, in, notIn, ge, gt, le, lt, between | eq |
Esempio di ricerca degli utenti del Registrar creati a partire dal 2024 e appartenenti al gruppo domain:
GET /v1/users?created=ge%3A2024-01-01&group=domain HTTP/1.1
Accept: application/json
Host: api.nic.it
Authentication: Bearer token....
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ {
"id" : 5,
"username" : "alessandro.magno",
"name" : "Alessandro",
"lastName" : "Magno",
"email" : "alessandro.magno@nic.it",
"created" : "2024-02-05T10:25:03+02:00",
"lastupdate" : "2024-03-05T08:25:02+02:00",
"lastPasswordChange" : "2024-03-05T08:25:02+02:00"
}, {
"id" : 6,
"username" : "giulio.cesare",
"name" : "Giulio",
"lastName" : "Cesare",
"email" : "giulio.cesare@nic.it",
"created" : "2024-03-05T10:25:03+02:00",
"lastupdate" : "2024-04-05T08:25:02+02:00",
"lastPasswordChange" : "2024-04-05T08:25:02+02:00"
} ],
"page" : {
"number" : 0,
"size" : 20,
"totalElements" : 2,
"totalPages" : 1
}
}
curl "https://api.nic.it/v1/users?created=ge:2024-01-01&group=domain" \
-H "Accept: application/json" \
-H "Authorization: Bearer token..."
{
"elements" : [ {
"id" : 5,
"username" : "alessandro.magno",
"name" : "Alessandro",
"lastName" : "Magno",
"email" : "alessandro.magno@nic.it",
"created" : "2024-02-05T10:25:03+02:00",
"lastupdate" : "2024-03-05T08:25:02+02:00",
"lastPasswordChange" : "2024-03-05T08:25:02+02:00"
}, {
"id" : 6,
"username" : "giulio.cesare",
"name" : "Giulio",
"lastName" : "Cesare",
"email" : "giulio.cesare@nic.it",
"created" : "2024-03-05T10:25:03+02:00",
"lastupdate" : "2024-04-05T08:25:02+02:00",
"lastPasswordChange" : "2024-04-05T08:25:02+02:00"
} ],
"page" : {
"number" : 0,
"size" : 20,
"totalElements" : 2,
"totalPages" : 1
}
}
http https://api.nic.it/v1/users \
"Authorization: Bearer token..." \
created==ge:2024-01-01 group==domain
{
"elements" : [ {
"id" : 5,
"username" : "alessandro.magno",
"name" : "Alessandro",
"lastName" : "Magno",
"email" : "alessandro.magno@nic.it",
"created" : "2024-02-05T10:25:03+02:00",
"lastupdate" : "2024-03-05T08:25:02+02:00",
"lastPasswordChange" : "2024-03-05T08:25:02+02:00"
}, {
"id" : 6,
"username" : "giulio.cesare",
"name" : "Giulio",
"lastName" : "Cesare",
"email" : "giulio.cesare@nic.it",
"created" : "2024-03-05T10:25:03+02:00",
"lastupdate" : "2024-04-05T08:25:02+02:00",
"lastPasswordChange" : "2024-04-05T08:25:02+02:00"
} ],
"page" : {
"number" : 0,
"size" : 20,
"totalElements" : 2,
"totalPages" : 1
}
}
I risultati della ricerca sono paginati.
Info
Se non viene specificato alcun parametro di ricerca saranno riportati tutti gli utenti del Registrar.
Ottenere i gruppi di un utente
GET https://api.nic.it/v1/users/{userId}/groups
E' possibile ottenere i gruppi a cui appartiene un utente come nell'esempio che segue:
Modificare i gruppi di un utente
GET https://api.nic.it/v1/users/{userId}/groups
E' possibile modificare i gruppi a cui appartiene un utente come nell'esempio che segue:
Info
Non è possibile modificare i gruppi dell'utente principale TAG-REG.
Ottenere i gruppi dell'utente autenticato
GET https://api.nic.it/v1/user/groups
Un utente autenticato può ottenere i gruppi a cui appartiene come nell'esempio seguente:
Ottenere i requisiti delle password
GET https://api.nic.it/v1/passwordRequirements
Le password devono soddisfare alcuni requisiti che si possono ottenere come nell'esempio seguente:
Gestione indirizzi IP
La gestione degli indirizzi IP permette al Registrar di aggiungere/abilitare i propri indirizzi IP per l'accesso ai seguenti servizi:
- epp-server
- das
E’ possibile ottenere l’elenco degli indirizzi IP associati a uno specifico servizio, aggiungere o cancellare un indirizzo IP.
Gli indirizzi IP per il servizio epp-server possono essere associati a tutti gli utenti appartenenti al gruppo epp, mentre per il servizio das si possono aggiungere indirizzi IP solo per l'utente principale TAG-REG del Registrar.
Info
Al momento è possibile specificare per entrambi i servizi sopra indicati solo indirizzi IPv4.
Warning
L'aggiunta o cancellazione di un indirizzo IP non è immediatamente applicata nei sistemi del Registro .it e può richiedere diversi minuti prima che sia effettiva.
Aggiungere un indirizzo IP
POST https://api.nic.it/v1/ipAddresses
E' possibile aggiungere un indirizzo IP per un servizio come nell'esempio seguente:
La risposta contiene tutti gli indirizzi IP per il servizio a cui è stato aggiunto l'indirizzo, nell'esempio sopra riporta quindi gli indirizzi IP del servizio epp-server.
Cancellare un indirizzo IP
DELETE https://api.nic.it/v1/ipAddresses/{ipAddressId}
E' possibile cancellare un indirizzo IP tramite l'identificativo numerico dell'IP come nell'esempio seguente:
Elenco degli indirizzi IP
GET https://api.nic.it/v1/ipAddresses
E' possibile ottenere l'elenco degli indirizzi IP di un servizio come nell'esempio seguente:
GET /v1/ipAddresses?service=epp-server HTTP/1.1
Accept: application/json
Host: api.nic.it
Authentication: Bearer token....
HTTP/1.1 200 OK
Content-Type: application/json
[ {
"id" : 4,
"userId" : 2,
"service" : "epp-server",
"ipAddress" : "192.12.192.3",
"ipVersion" : "IPv4",
"created" : "2023-09-23T17:21:15+02:00"
}, {
"id" : 5,
"userId" : 2,
"service" : "epp-server",
"ipAddress" : "192.12.192.5",
"ipVersion" : "IPv4",
"created" : "2020-08-01T16:10:11+02:00"
} ]
Oltre al parametro service, obbligatorio, è possibile specificare anche i seguenti due parametri di ricerca opzionali:
- userId: id utente a cui è associato l'indirizzo IP
- ipAddress: indirizzo IP