Docs Italia beta

Documenti pubblici, digitali.

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

spid-icon

Lo UserInfo Endpoint DEVE supportare l'uso del solo metodo HTTP GET RFC 2616 e DEVE accettare e validare l'Access Token inviato all'interno del campo Authorization dell'Header, di tipo Bearer RFC 6750.

cieid-icon

Lo UserInfo Endpoint DEVE supportare l'uso dei metodi HTTP GET e POST RFC 2616 e DEVE accettare e validare l'Access Token inviato all'interno del campo Authorization dell'Header, di tipo Bearer RFC 6750.

Response

spid-icon

La response dello UserInfo Endpoint DEVE specificare nel "Content-Type" il valore "application/jwt".

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.. spid-icon cieid-icon
kid Vedi RFC 7638#section_3. spid-icon cieid-icon
enc String. Vedi Algoritmi crittografici.. spid-icon cieid-icon
cty String. DEVE essere valorizzato con "JWT". spid-icon cieid-icon

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. spid-icon cieid-icon
iat UNIX Timestamp con l'istante di generazione del JWT, codificato come NumericDate come indicato in RFC 7519. spid-icon cieid-icon
exp UNIX Timestamp con l'istante di scadenza del JWT, codificato come NumericDate come indicato in RFC 7519. spid-icon cieid-icon
aud String. Identificatore del soggetto destinatario della response (RP). Il RP DEVE verificare che il valore coincida con il proprio client_id. spid-icon cieid-icon
iss String. URI che identifica univocamente l'OP. spid-icon cieid-icon
<attributo> I claim richiesti al momento dell'autenticazione. spid-icon cieid-icon

L'intestazione del JWS DEVE contenere i seguenti parametri:

Claim Descrizione Supportato da
alg String. Vedi Algoritmi crittografici.. spid-icon cieid-icon
kid Vedi RFC 7638#section_3. spid-icon cieid-icon
cty String. DEVE essere valorizzato con "JWT". spid-icon cieid-icon

Codici di errore

Come definiti per Token endpoint.