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¶
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.