UserInfo Endpoint¶
Lo UserInfo Endpoint è una risorsa protetta che restituisce gli attributi dell'utente autenticato. Per ottenere gli attributi richiesti, il RP inoltra una richiesta allo UserInfo Endpoint utilizzando l'Access Token.
Request¶
GET https://op.spid.agid.gov.it/userinfo
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImRCNjdnTDdja ...
Response¶
Il contenuto del corpo della Response DEVE essere un JWT firmato e cifrato..
L'header JOSE DEVE contenere il parametro cty (Content Type) valorizzato con JWT (vedi RFC 7519#section-5.2).
Lo UserInfo Endpoint restituisce gli attributi utente esplicitamente richiesti tramite il parametro claims o tramite l'utilizzo del parametro scope nella Authentication Request.
Esempio:
HTTP/1.1 200 OK
Last-Modified: Wed, 22 Jul 2018 19:15:56 GMT
Content-Type: application/jose
{
"alg": "RSA-OAEP",
"enc": "A256CBC-HS512",
"kid": "HIvo33-Km7n03ZqKDJfWVnlFudsW28YhQZx5eaXtAKA",
"cty": "JWT"
}
.
{
"iss": "https://op.fornitore_identita.it",
"aud": "https://rp.fornitore_servizio.it",
"iat": 1519032969,
"nbf": 1519032969,
"exp": 1519033149,
"sub": "OP-1234567890",
"name": "Mario",
"family_name": "Rossi",
"https://attributes.spid.gov.it/fiscal_number": "MROXXXXXXXXXXXXX"
}
L'intestazione del JWE DEVE contenere i seguenti parametri:
Claim |
Descrizione |
Supportato da |
---|---|---|
alg |
String. Vedi Algoritmi crittografici.. |
|
kid |
Vedi RFC 7638#section_3. |
|
enc |
String. Vedi Algoritmi crittografici.. |
|
cty |
String. DEVE essere valorizzato con "JWT". |
Il payload del JWE è un JWS contenente all'interno del suo payload i seguenti parametri:
Claim |
Descrizione |
Supportato da |
---|---|---|
sub |
String. Identificatore del soggetto, coincidente con quello già rilasciato nell'ID Token. Il RP DEVE verificare che il valore coincida con quello contenuto nell'ID Token. |
|
iat |
UNIX Timestamp con l'istante di generazione del JWT, codificato come NumericDate come indicato in RFC 7519. |
|
exp |
UNIX Timestamp con l'istante di scadenza del JWT, codificato come NumericDate come indicato in RFC 7519. |
|
aud |
String. Identificatore del soggetto destinatario della response (RP). Il RP DEVE verificare che il valore coincida con il proprio client_id. |
|
iss |
String. URI che identifica univocamente l'OP. |
|
<attributo> |
I claim richiesti al momento dell'autenticazione. |
L'intestazione del JWS DEVE contenere i seguenti parametri:
Claim |
Descrizione |
Supportato da |
---|---|---|
alg |
String. Vedi Algoritmi crittografici.. |
|
kid |
Vedi RFC 7638#section_3. |
|
cty |
String. DEVE essere valorizzato con "JWT". |
Codici di errore¶
Come definiti per Token endpoint.