Il più non tecnico possibile:
Se dovessi descrivere qualcosa su chi sei e cosa ti è stato permesso di vedere o fare, ognuna di quelle cose sarebbe qualcosa che stavi "affermando" come vera, e quindi ogni "cosa" in quella lista sarebbe un " Richiesta".
Ogni volta che dici a qualcuno qualcosa di te o "rivendichi" che ti è permesso vedere o fare qualcosa, gli dai il tuo elenco di richieste. Verificheranno con autorità che le tue affermazioni sono vere e, se lo sono, crederanno a qualsiasi cosa in quella lista di affermazioni. Quindi, se affermi di essere Brad Pitt, il tuo elenco di affermazioni afferma che sei Brad Pitt, ed è stato verificato con l'autorità che le tue affermazioni sono tutte vere, quindi crederanno che tu sia Brad Pitt insieme a qualsiasi altra cosa in quella lista.
Reclamo : ciò che affermi essere vero. Può trattarsi di un'informazione o di una descrizione di un'autorizzazione che si afferma di avere. Il sistema al quale si presentano i reclami deve solo capire cosa è / significa il reclamo ed essere anche in grado di verificare con l'autorità.
Autorità : il sistema che mette insieme il tuo elenco di rivendicazioni e lo firma che sostanzialmente dice "Sulla mia autorità, tutto in questo elenco è vero." Finché il sistema che legge i reclami può verificare con l'autorità che la firma sia corretta, allora tutto nell'elenco dei reclami sarà considerato autentico e vero.
Inoltre, non chiamiamola "autenticazione basata sulle attestazioni", piuttosto chiamiamola "identità basata sulle attestazioni".
Leggermente più tecnico:
Quindi ora in questo processo, esegui l' autenticazione utilizzando una sorta di meccanismo (nome utente / password, segreto client, certificato, ecc.) E questo ti dà un token che dimostra che sei chi dici di essere. Quindi, si scambia quel token di accesso con un token ID. Tale processo utilizzerà la tua identità per trovare e creare un elenco di reclami, firmarlo e quindi restituirti un token ID che contiene tutti i reclami.
Come fase di autorizzazione , in base alla modalità di implementazione, la risorsa esaminerà il token ID (attestazioni) e quindi verificherà se si dispone delle attestazioni necessarie per accedere a tale risorsa.
Quindi, ad esempio, se la risorsa "CastleBlack / CommandersTower" dice che "devi avere accesso al castello nero ed essere il comandante del signore, allora esaminerà il tuo elenco di affermazioni per vedere se entrambe queste cose sono vere.
Come vedi, le "affermazioni" possono essere qualsiasi cosa. Può essere un ruolo, può essere un fatto, può essere una bandiera. È solo un elenco di coppie chiave-valore e il "valore" è facoltativo. A volte si tratta solo di vedere se il reclamo esiste:
claims : [
{"type": "name", "value": "Jon Snow"},
{"type": "home", "value": "Winterfell, The North, Westeros"},
{"type": "email", "value": "jon@nightswatch-veterans.org"},
{"type": "role", "value": "veteran;deserter;"},
{"type": "department", "value": "none"},
{"type": "allowEntry", "value": "true"},
{"type": "access", "value": "castleblack;eastwatch;"}
]
Quindi, se Jon si connettesse e provasse ad accedere alla risorsa sopra descritta, gli sarebbe negato perché, mentre è quello che dice di essere e ha accesso al castello nero, non è più il comandante del signore né ha accesso esplicito a la torre del comandante, e quindi non può entrare implicitamente nella torre del comandante del signore.
Più specificamente, "CastleBlack" sarebbe probabilmente un ambito [più ampio] e ogni area sarebbe un'autorizzazione specifica, ma questa è una discussione diversa.
Il modo in cui ciascuna applicazione gestisce l'accesso sarà diverso, ma utilizzerà le attestazioni per farlo.