SecurityTokenHandler Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Abstrakcyjna klasa bazowa dla procedur obsługi tokenów zabezpieczających.
public ref class SecurityTokenHandler abstract : System::IdentityModel::Configuration::ICustomIdentityConfiguration
public abstract class SecurityTokenHandler : System.IdentityModel.Configuration.ICustomIdentityConfiguration
type SecurityTokenHandler = class
interface ICustomIdentityConfiguration
Public MustInherit Class SecurityTokenHandler
Implements ICustomIdentityConfiguration
- Dziedziczenie
-
SecurityTokenHandler
- Pochodne
- Implementuje
Przykłady
Przykłady kodu we wszystkich tematach SecurityTokenHandler pochodzą z przykładu Custom Token . Ten przykład zawiera klasy niestandardowe, które umożliwiają przetwarzanie prostych tokenów sieci Web (SWT). Aby uzyskać informacje na temat tego przykładu i innych przykładów dostępnych dla programu WIF i miejsca ich pobierania, zobacz Przykładowy indeks kodu programu WIF. Poniższy kod XML pokazuje, jak dodać procedurę obsługi tokenów SWT do kolekcji procedur obsługi tokenów.
<system.identityModel>
<identityConfiguration saveBootstrapContext="true">
<issuerTokenResolver type="SimpleWebToken.CustomIssuerTokenResolver, SimpleWebToken">
<AddAudienceKeyPair symmetricKey="wAVkldQiFypTQ+kdNdGWCYCHRcee8XmXxOvgmak8vSY=" audience="http://localhost:19851/" />
</issuerTokenResolver>
<issuerNameRegistry type="RelyingParty.TrustedIssuerNameRegistry, RelyingParty"/>
<audienceUris>
<add value="http://localhost:19851/"/>
</audienceUris>
<securityTokenHandlers>
<add type="SimpleWebToken.SimpleWebTokenHandler, SimpleWebToken" />
</securityTokenHandlers>
</identityConfiguration>
</system.identityModel>
Uwagi
Klasa SecurityTokenHandler jest klasą bazową, z której pochodzą wszystkie procedury obsługi tokenów zabezpieczających. Procedura obsługi tokenów zabezpieczających jest odpowiedzialna za:
Weryfikowanie tokenów zabezpieczających (SecurityToken) typu, który jest przeznaczony do przetwarzania i pakowania oświadczeń zawartych w tokenie ClaimsIdentity do obiektu.
Serializowanie i deserializacja tokenów zabezpieczających typu, który jest przeznaczony do przetwarzania.
Serializowanie i deserializacji klauzul identyfikatora klucza (SecurityKeyIdentifierClause), które odwołują się do tokenów typu, który jest przeznaczony do przetwarzania do i z
<wsse:SecurityTokenReference>elementów.Tworzenie tokenów zabezpieczających na podstawie SecurityTokenDescriptor obiektu przekazanego SecurityTokenService przez implementacje klasy .
Tworzenie klauzul identyfikatora klucza na podstawie tokenu zabezpieczającego SecurityTokenService na potrzeby implementacji klasy.
Program Windows Identity Foundation (WIF) dostarcza następujące procedury obsługi tokenów zabezpieczających gotowe do użycia:
Większość z tych klas uwidacznia dodatkowe elementy członkowskie, które implementują funkcje specyficzne dla przetwarzania tokenów, dla których zaprojektowano klasę. W wielu przypadkach lepiej jest pochodzić z jednej z tych klas, a nie bezpośrednio z SecurityTokenHandler klasy.
Procedurę obsługi tokenów zabezpieczających można dodać lub usunąć z kolekcji programu obsługi tokenów, określając <elementy dodawania>, <usuwania> lub <czyszczenia> elementów w <elemecie securityTokenHandlers> w pliku konfiguracji. Do SecurityTokenHandlerConfiguration obiektu zawierającego ustawienia konfiguracji dla kolekcji programu obsługi można uzyskać dostęp za pośrednictwem Configuration właściwości, a kolekcja programu obsługi, do którego można uzyskać dostęp z ContainingCollection właściwości programu obsługi tokenów. Możesz zastąpić metodę przetwarzania LoadCustomConfiguration dowolnych niestandardowych elementów konfiguracji, które przyjmuje program obsługi.
Klasa SecurityTokenHandler uwidacznia kilka innych właściwości i metod. W zależności od wybranej funkcji można zastąpić niektóre lub wszystkie te elementy członkowskie.
Należy zastąpić TokenType właściwość i GetTokenTypeIdentifiers metodę w celu udostępnienia infrastruktury programu WIF informacji o typie tokenu zabezpieczającego, który klasa ma przetworzyć.
Funkcje walidacji, serializacji i deserializacji są udostępniane za pośrednictwem właściwości lub metod, które wskazują, czy program obsługi może wykonywać określoną funkcję w połączeniu z metodą lub metodami implementujących funkcje. Poniższa lista zawiera pary właściwości lub metod wskazujących funkcjonalność przy użyciu metod implementujących tę funkcję:
Właściwość CanValidateToken i ValidateToken metoda: Weryfikuje token i pakuje oświadczenia zawarte w tokenie ClaimsIdentitydo elementu .
Właściwość CanWriteToken i metody: Serializacja tokenu WriteToken .
Metody CanReadToken i metody: Deserializacja tokenu ReadToken .
Metoda CanReadKeyIdentifierClause i ReadKeyIdentifierClause metoda: Deserializowanie klauzul identyfikatora klucza.
Metoda CanWriteKeyIdentifierClause i WriteKeyIdentifierClause metoda: Serializowanie klauzul identyfikatora klucza.
Metody CreateToken i CreateSecurityTokenReference są wywoływane z potoku we wdrożeniach SecurityTokenService klasy .
Metoda DetectReplayedToken jest wywoływana przez infrastrukturę programu WIF w celu określenia, czy określony token został już odebrany. Domyślnie ta metoda zwraca falsewartość , która wskazuje, że token nie został jeszcze odebrany. Możesz zastąpić metodę i podać logikę w celu wykrywania ponownie odtwarzanych tokenów.
Konstruktory
| Nazwa | Opis |
|---|---|
| SecurityTokenHandler() |
Wywoływane z konstruktorów w klasach pochodnych w celu zainicjowania SecurityTokenHandler klasy. |
Właściwości
| Nazwa | Opis |
|---|---|
| CanValidateToken |
Pobiera wartość wskazującą, czy program obsługi obsługuje walidację tokenów zabezpieczających. |
| CanWriteToken |
Pobiera wartość wskazującą, czy program obsługi może serializować tokeny zabezpieczające. |
| Configuration |
Pobiera lub ustawia SecurityTokenHandlerConfiguration obiekt, który zapewnia konfigurację dla bieżącego wystąpienia. |
| ContainingCollection |
Pobiera kolekcję programu obsługi tokenów zawierającą bieżące wystąpienie. |
| TokenType |
Po zastąpieniu w klasie pochodnej pobiera typ tokenu zabezpieczającego przetwarzanego przez to wystąpienie. |
Metody
| Nazwa | Opis |
|---|---|
| CanReadKeyIdentifierClause(XmlReader) |
Zwraca wartość wskazującą, czy element XML, do którego odwołuje się określony czytnik XML, jest klauzulą identyfikatora klucza, która może być deserializowana przez to wystąpienie. |
| CanReadToken(String) |
Zwraca wartość wskazującą, czy określony ciąg może zostać zdeserializowany jako token typu przetworzonego przez to wystąpienie. |
| CanReadToken(XmlReader) |
Zwraca wartość wskazującą, czy element XML, do którego odwołuje się określony czytnik XML, może być odczytywany jako token typu przetworzonego przez to wystąpienie. |
| CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause) |
Zwraca wartość wskazującą, czy określona klauzula identyfikatora klucza może być serializowana przez to wystąpienie. |
| CreateSecurityTokenReference(SecurityToken, Boolean) |
Po zastąpieniu w klasie pochodnej tworzy odwołanie do tokenu zabezpieczającego dla tokenów przetworzonych przez tą klasę. Ta metoda jest zwykle wywoływana przez usługę tokenu zabezpieczającego (STS). |
| CreateToken(SecurityTokenDescriptor) |
Po zastąpieniu w klasie pochodnej tworzy token zabezpieczający przy użyciu określonego deskryptora tokenu. Ta metoda jest wywoływana przez usługę tokenu zabezpieczającego (STS). |
| DetectReplayedToken(SecurityToken) |
Po przesłonięciu w klasie pochodnej zgłasza wyjątek, jeśli określony token zostanie wykryty jako odtwarzany. |
| Equals(Object) |
Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone po Object) |
| GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
| GetTokenTypeIdentifiers() |
Po zastąpieniu w klasie pochodnej zwraca zestaw identyfikatorów URI używanych w żądaniach w celu zidentyfikowania tokenu typu przetworzonego przez klasę pochodną. |
| GetType() |
Pobiera Type bieżącego wystąpienia. (Odziedziczone po Object) |
| LoadCustomConfiguration(XmlNodeList) |
Po zastąpieniu w klasie pochodnej ładuje konfigurację niestandardową z pliku XML. |
| MemberwiseClone() |
Tworzy płytkią kopię bieżącego Object. (Odziedziczone po Object) |
| ReadKeyIdentifierClause(XmlReader) |
Po zastąpieniu w klasie pochodnej deserializuje kod XML przywoływane przez określony czytnik XML do klauzuli identyfikatora klucza, która odwołuje się do tokenu przetworzonego przez klasę pochodną. |
| ReadToken(String) |
Po zastąpieniu w klasie pochodnej deserializuje określony ciąg do tokenu typu przetworzonego przez klasę pochodną. |
| ReadToken(XmlReader, SecurityTokenResolver) |
Po zastąpieniu w klasie pochodnej deserializuje kod XML przywoływane przez określony czytnik XML do tokenu typu przetworzonego przez klasę pochodną przy użyciu określonego rozpoznawania tokenów. |
| ReadToken(XmlReader) |
Po zastąpieniu w klasie pochodnej deserializuje kod XML przywoływane przez określony czytnik XML do tokenu typu przetworzonego przez klasę pochodną. |
| ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
| TraceTokenValidationFailure(SecurityToken, String) |
Śledzi zdarzenie niepowodzenia podczas walidacji tokenów zabezpieczających po włączeniu śledzenia. |
| TraceTokenValidationSuccess(SecurityToken) |
Śledzi pomyślne sprawdzanie poprawności zdarzenia tokenów zabezpieczających po włączeniu śledzenia. |
| ValidateToken(SecurityToken) |
Po zastąpieniu w klasie pochodnej sprawdza poprawność określonego tokenu zabezpieczającego. Token musi być typu przetwarzanego przez klasę pochodną. |
| WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause) |
Po zastąpieniu w klasie pochodnej serializuje określoną klauzulę identyfikatora klucza do xml. Klauzula identyfikatora klucza musi być typu obsługiwanego przez klasę pochodną. |
| WriteToken(SecurityToken) |
Po zastąpieniu w klasie pochodnej serializuje określony token zabezpieczający do ciągu. Token musi być typu przetwarzanego przez klasę pochodną. |
| WriteToken(XmlWriter, SecurityToken) |
Po przesłonięciu w klasie pochodnej serializuje określony token zabezpieczający na XML. Token musi być typu przetwarzanego przez klasę pochodną. |