Risultati
63 risultati
-
AGID
1. Esigenza, scopo e caratteristiche delle Linee guida
SPID è uno strumento che può essere utilizzato anche per proteggere i minori, in quanto consente sia l’accesso ai servizi in rete in modalità anonima sia la selezione dei relativi fruitori in base all’età. Le presenti Linee guida operative hanno ad oggetto il rilascio dell’identità digitale ai minori e le relative modalità di utilizzo per l’accesso ai servizi online. Non sono emesse ai sensi dell’art. 71 del D. Lgs. 82/2005 (di seguito CAD) e definiscono, nel rispetto della normativa in materia e delle vigenti Linee guida di primario riferimento in ambito SPID, le modalità operative che i gestori dell’identità digitale e i fornitori di servizi online dovranno porre in essere al fine di poter consentire ai minori la fruizione, in piena sicurezza, di servizi in rete. I gestori delle identità SPID e i fornitori di servizi, che intendono rispettivamente rilasciare o utilizzare l’identità digitale dei minori, si attengono alle presenti Linee guida. ...
-
AGID
9. Considerazioni finali
Nessuno. 9.2.1. Contromisure. N.A ...
-
AGID
7.4. Errori
In caso di errore, l’OP restituisce un codice HTTP 401 con un JSON nel body avente gli elementi di seguito indicati. Esempio:. { "error": "invalid_client", "error_description: "client_id non riconosciuto." }. Descrizione. Valori ammessi. Error. Codice dell’errore (v. tabella sotto). error_description. Descrizione più dettagliata dell’errore, finalizzata ad aiutare lo sviluppatore per eventuale debugging. Questo messaggio non è destinato ad essere visualizzato all’utente (a tal fine si faccia riferimento alle Linee Guida UX SPID). Di seguito i codici di errore:. Codice errore. Il client_id indicato nella richiesta non è riconosciuto. invalid_client. Il parametro grant_type contiene un valore non corretto. unsupported_grant_type. I parametri grant_type, code, code_verifier, access_token non sono validi. invalid_grant. La richiesta non è valida a causa della mancanza o della non correttezza di uno o più parametri. invalid_request. L’OP ha riscontrato un problema interno. server_error. L’OP ha riscontrato un problema interno temporaneo. temporarily_unavailable. Riferimenti:. http://openid.net/specs/openid-connect-core-1_0.html#TokenErrorResponse. ...
-
AGID
7.3. ID Token
L’ID Token è un JSON Web Token (JWT) che contiene informazioni sull’utente che ha eseguito l’autenticazione. I Client devono eseguire la validazione dell’ID Token. Esempio di ID Token:. { "iss": "https://rp.spid.agid.gov.it/", "sub": "OP-1234567890", "aud": "https://op.spid.agid.gov.it/auth", "acr": "https://www.spid.gov.it/SpidL2", "at_hash": "qiyh4XPJGsOZ2MEAyLkfWqeQ", "iat": 1519032969, "nbf": 1519032969, "exp": 1519033149, "jti": "nw4J0zMwRk4kRbQ53G7z", "nonce": "MBzGqyf9QytD28eupyWhSqMj78WNqpc2" }. Descrizione. Validazione. Iss. Identificatore dell’OP che lo contraddistingue univocamente nella federazione nel formato Uniform Resource Locator (URL). Il client è tenuto a verificare che questo valore corrisponda all’OP chiamato. Sub. Per il valore di questo parametro fare riferimento allo standard “OpenID Connect Core 1.0”, paragrafo 8.1. “Pairwise Identifier Algorithm”. Aud. Contiene il client ID. Il client è tenuto a verificare che questo valore corrisponda al proprio client ID. Acr. Livello di autenticazione effettivo. Può essere uguale o superiore a quello richiesto dal client nella Authentication Request. at_hash. Hash dell’Access Token; il suo valore è la codifica base64url della prima metà dell’hash del valore access_token, usando l’algoritmo di hashing indicato in alg nell’header dell’ID Token. Il client è tenuto a verificare che questo valore corrisponda all’access token restituito insieme all’ID Token. Iat. Data/ora di emissione del token in formato UTC. Nbf. Data/ora di inizio validità del token in formato UTC. Deve corrispondere con il valore di iat. {. userinfo: {…}. id_token: {. acr: {…},. nbf: { essential: true},. jti: { essential: true }. }. }. Exp. Data/ora di scadenza del token in formato UTC, secondo le modalità definite dall’Agenzia per l’Italia Digitale. Jti. Identificatore unico dell’ID Token che il client più utilizzare per prevenirne il riuso, rifiutando l’ID Token se già processato. Deve essere di difficile individuazione da parte di un attaccante e composto da una stringa casuale. Nonce. Stringa casuale generata dal Client per ciascuna sessione utente ed inviata nell’Authentication Request (parametro nonce), finalizzata a mitigare attacchi replay. Il client è tenuto a verificare che coincida con quella inviata nell’Authentication Request. Riferimenti:. https://openid.net/specs/openid-igov-openid-connect-1_0-02.html#rfc.section.3.1. ...
-
AGID
7.1. Request
Esempio di richiesta con authorization code (caso 1):. client_id=https%3A%2F%2Frp.spid.agid.gov.it&. client_assertion=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWI iOiIxMjM0NTY3ODkwIiwibmFtZSI6IlNQSUQiLCJhZG1pbiI6dHJ1ZX0.LVyRDPVJm0S9 q7oiXcYVIIqGWY0wWQlqxvFGYswLF88&. client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-as sertion-type%3Ajwt-bearer&. code=usDwMnEzJPpG5oaV8x3j&. code_verifier=9g8S40MozM3NSqjHnhi7OnsE38jklFv2&. grant_type=authorization_code. Esempio di richiesta con refresh token (caso 2):. client_id=https%3A%2F%2Frp.spid.agid.gov.it&. client_assertion=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWI iOiIxMjM0NTY3ODkwIiwibmFtZSI6IlNQSUQiLCJhZG1pbiI6dHJ1ZX0.LVyRDPVJm0S9 q7oiXcYVIIqGWY0wWQlqxvFGYswLF88&. client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-as sertion-type%3Ajwt-bearer&. grant_type=refresh_token&. refresh_token=8xLOxBtZp8. Descrizione. Valori ammessi. Obbligatorio. client_id. URI che identifica univocamente il RP come da Registro SPID. SI. client_assert ion. JWT firmato con la chiave privata del Relying Party contenente i seguenti parametri:. iss: Identificatore del RP registrato presso gli OP e che contraddistingu e univocamente l’entità nella federazione nel formato Uniform Resource Locater (URL); corrisponde al client_id usato nella richiesta di autenticazione. sub: uguale al parametro iss. aud: URL del Token Endpoint dell’OP. iat: data/ora in cui è stato rilasciato il JWT in formato UTC. exp: data/ora di scadenza della request in formato UTC. jti: Identificatore univoco per questa richiesta di autenticazione, generato dal client casualmente con almeno 128bit di entropia. iat: secondo le modalità definite dall’Agenzia per l’Italia Digitale. exp: secondo le modalità definite dall’Agenzia per l’Italia Digitale. SI. client_assert ion_type. Deve assumere il seguente valore:. urn:ietf:para ms:oauth:client -assertion-type :jwt-bearer. SI. Code. Codice di autorizzazione restituito nell’Authentica tion response. Solo se grant_type è authorization _code. code_verifier. Codice di verifica del code_challenge (v paragrafo 5.2). Solo se grant_type è authorization _code. grant_type. Tipo di credenziale presentata dal Client per la richiesta corrente. Può assumere uno dei seguenti valori:. authorization _code. refresh _token. SI. refresh_token. Solo se grant_type è refresh_token. ...
-
AGID
11. Sessioni lunghe revocabili
Per applicazioni mobili in cui l’RP intenda offrire un’esperienza utente che non passi per il reinserimento delle credenziali SPID ad ogni avvio, è possibile beneficiare di sessioni lunghe revocabili. ...
-
AGID
10.1. Request
La richiesta al Revocation Endpoint consiste nell’invio del token che si vuole revocare unitamente ad una Client Assertion che consente di identificare il RP che esegue la richiesta. Esempio:. client_assertion=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOi IxMjM0NTY3ODkwIiwibmFtZSI6IlNQSUQiLCJhZG1pbiI6dHJ1ZX0.LVyRDPVJm0S9q7 oiXcYVIIqGWY0wWQlqxvFGYswLF88&. client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-asser tion-type%3Ajwt-bearer&. client_id=https%3A%2F%2Frp.spid.agid.gov.it&. token=eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0MTg3MDI0MTQsImF1ZCI6WyJl NzFmYjcyYS05NzRmLTQwMDEtYmNiNy1lNjdjMmJjMDAzN2YiXSwiaXNzIjoiaHR0cHM6 XC9cL2FzLXZhLmV4YW1wbGUuY29tXC8iLCJqdGkiOiIyMWIxNTk2ZC04NWQzLTQzN2Mt YWQ4My1iM2YyY2UyNDcyNDQiLCJpYXQiOjE0MTg2OTg4MTR9.FXDtEzDLbTHzFNroW7w 27RLk5m0wprFfFH7h4bdFw5fR3pwiqejKmdfAbJvN3_yfAokBv06we5RARJUbdjmFFfR RW23cMbpGQCIk7Nq4L012X_1J4IewOQXXMLTyWQQ_BcBMjcW3MtPrY1AoOcfBOJPx1k2 jwRkYtyVTLWlff6S5gK-ciYf3b0bAdjoQEHd_IvssIPH3xuBJkmtkrTlfWR0Q0pdpeyV ePkMSI28XZvDaGnxA4j7QI5loZYeyzGR9h70xQLVzqwwl1P0-F_0JaDFMJFO1yl4Iexf poZZsB3HhF2vFdL6D_lLeHRy-H2g2OzF59eMIsM_Ccs4G47862w. Descrizione. Valori ammessi. client_assertion. JWT firmato con la chiave privata del Relying Party contenente gli stessi parametri documentati per le richieste al Token Endpoint. L’OP deve verificare la validità di tutti i campi presenti nel JWT, nonché la validità della sua firma in relazione al parametro client_id. client_assertion_ty pe. urn:ietf:params:oau th:client-assertion-t ype:jwt-bearer. client_id. URI che identifica univocamente il RP come da Registro SPID. L’OP deve verificare che il client_id sia noto. Token. Il token su cui il RP vuole ottenere informazioni. ...
-
AGID
10.2. Response
Il Revocation Endpoint risponde con un codice HTTP 200, anche nel caso in cui il token indicato non esista o sia già stato revocato (in modo da non rilasciare informazioni). ...
-
AGID
3. Metadata
I metadata sono strutture dati contenenti le informazioni di OpenID Provider (OP) e di Relying Party (RP), mantenute e distribuite dal Registry SPID a tutti i soggetti della federazione, secondo le modalità definite dall’Agenzia per l’Italia Digitale, al fine di consentirne la configurazione nei rispettivi sistemi. ...
-
AGID
Linee Guida OpenID Connect in SPID
La consultazione pubblica relativa alle Linee Guida OpenID Connect in SPID è attiva dal 27 agosto al 26 settembre 2019 ...
-
AGID
8. UserInfo Endpoint (attributi)
Lo UserInfo Endpoint è una risorsa protetta OAuth 2.0 che restituisce attributi dell’utente autenticato. Per ottenere gli attributi richiesti dal Relying Party, il client inoltra una richiesta allo UserInfo endpoint utilizzando l’Access token. Il risultato è presentato in JSON e contiene una raccolta di coppie nome e valore. Lo UserInfo Endpoint deve supportare l’uso dei metodi HTTP GET e HTTP POST definiti in RFC 2616 [RFC2616], accettare i token di accesso come utilizzo di token bearer OAuth 2.0 [RFC6750] e supportare l’uso di Cross Origin Resource Sharing (CORS) e/o altri metodi appropriati per consentire ai client Java Script di accedere all’endpoint. Authorization: Bearer dC34Pf6kdG. Riferimenti:. https://openid.net/specs/openid-igov-openid-connect-1_0-02.html#rfc.section.4. ...
-
AGID
7.2. Response
Dopo avere ricevuto e validato la Token request dal client, il Token endpoint dell’OpenID Provider (OP) restituisce una response che include ID Token e Access Token e un eventuale Refresh Token, in formato JWT e firmati secondo le modalità definite dall’Agenzia per l’Italia Digitale. Access Token e ID Token devono essere formati secondo le indicazioni dello standard “International Government Assurance Profile (iGov) for OAuth 2.0 - Draft 03, paragrafo 3.2.1, “JWT Bearer Tokens”. { "access_token": "dC34Pf6kdG...", "token_type": "Bearer", "refresh_token": "wJ848BcyLP...", "expires_in": 1800, "id_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY..." }. Descrizione. Valori ammessi. access_token. L’access token, in formato JWT firmato, consente l’accesso allo UserInfo endpoint per ottenere gli attributi. token_type. Tipo di access token restituito. Deve essere valorizzato sempre con Bearer. refresh_token. Il refresh token, in formato JWT firmato, consente di chiamare nuovamente il Token Endpoint per ottenere un nuovo access token e quindi recuperare una sessione lunga revocabile. expires_in. Scadenza dell’access token, in secondi. Secondo le modalità definite dall’Agenzia per l’Italia Digitale. id_token. ID Token in formato JWT, firmato e cifrato (v. paragrafo dedicato). ...