Jak najbardziej nietechniczny:
Jeśli miałbyś opisać cokolwiek na temat tego, kim jesteś i co wolno ci zobaczyć lub robić, każda z tych rzeczy byłaby czymś, co „twierdziłeś”, że jest prawdą, a zatem każda „rzecz” na tej liście byłaby „ roszczenie".
Za każdym razem, gdy mówisz komuś coś o sobie lub „twierdzisz”, że możesz coś zobaczyć lub zrobić, przekazujesz mu swoją listę roszczeń. Sprawdzą z organem, że twoje roszczenia są prawdziwe, a jeśli tak, uwierzą we wszystko na tej liście roszczeń. Więc jeśli twierdzisz, że jesteś Bradem Pittem, twoja lista roszczeń mówi, że jesteś Bradem Pittem i zostało to potwierdzone autorytetem, że wszystkie twoje roszczenia są prawdziwe - wtedy będą wierzyć, że jesteś Bradem Pittem wraz z wszystko inne na tej liście.
Twierdzenie : co uważasz za prawdziwe. Może to być informacja lub opis pozwolenia, które rzekomo masz. System, w którym zgłaszasz swoje roszczenia, musi tylko zrozumieć, co to jest / oznacza roszczenie, a także być w stanie zweryfikować z odpowiednim organem.
Autorytet : system, który łączy twoją listę roszczeń razem i podpisuje ją, co w zasadzie mówi: „Według mojej władzy wszystko na tej liście jest prawdziwe”. Tak długo, jak system czytający oświadczenia może zweryfikować przez organ, że podpis jest poprawny, wszystko na liście oświadczeń będzie uważane za autentyczne i prawdziwe.
Nie nazywajmy tego również „uwierzytelnianiem opartym na oświadczeniach”, zamiast tego nazwijmy to „tożsamością opartą na oświadczeniach”.
Nieco bardziej techniczne:
Teraz w tym procesie uwierzytelniasz się za pomocą jakiegoś mechanizmu (nazwa użytkownika / hasło, klucz tajny klienta, certyfikat itp.), Który daje token potwierdzający, że jesteś tym, za kogo się podajesz. Następnie zamieniasz ten token dostępu na token ID. Proces ten wykorzysta twoją tożsamość do znalezienia i zbudowania listy roszczeń, podpisania jej, a następnie oddania tokena identyfikacyjnego zawierającego wszystkie twoje roszczenia.
Na etapie autoryzacji , w zależności od sposobu jego realizacji, zasób sprawdzi Twój token identyfikacyjny (oświadczenia), a następnie sprawdzi, czy masz niezbędne oświadczenia, aby uzyskać dostęp do tego zasobu.
Na przykład, jeśli zasób „CastleBlack / CommandersTower” mówi, że „musisz mieć dostęp do czarnego zamku i być lordem dowódcą, to spojrzy na twoją listę roszczeń, aby sprawdzić, czy obie te rzeczy są prawdziwe.
Jak widać, „roszczenia” mogą być dowolne. To może być rola, może być faktem, może być flagą. To tylko lista par klucz-wartość, a „wartość” jest opcjonalna. Czasami chodzi tylko o sprawdzenie, czy roszczenie istnieje:
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;"}
]
Więc jeśli Jon zaloguje się i spróbuje uzyskać dostęp do zasobu opisanego powyżej, zostanie odmówiony, ponieważ chociaż jest tym, za kogo się podaje i ma dostęp do czarnego zamku, nie jest on już dowódcą ani nie ma wyraźnego dostępu do wieża dowódcy, a zatem nie może pośrednio wejść do wieży dowódcy władcy.
Mówiąc dokładniej, „CastleBlack” prawdopodobnie miałby [większy] zakres, a każdy obszar byłby konkretnym pozwoleniem, ale to inna dyskusja.
Sposób, w jaki każda aplikacja radzi sobie z dostępem, będzie inny, ale użyje do tego roszczeń.