SecurityTokenService.Issue(ClaimsPrincipal, RequestSecurityToken) Metoda
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.
Wystawia token zabezpieczający.
public:
virtual System::IdentityModel::Protocols::WSTrust::RequestSecurityTokenResponse ^ Issue(System::Security::Claims::ClaimsPrincipal ^ principal, System::IdentityModel::Protocols::WSTrust::RequestSecurityToken ^ request);
public virtual System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse Issue (System.Security.Claims.ClaimsPrincipal principal, System.IdentityModel.Protocols.WSTrust.RequestSecurityToken request);
abstract member Issue : System.Security.Claims.ClaimsPrincipal * System.IdentityModel.Protocols.WSTrust.RequestSecurityToken -> System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse
override this.Issue : System.Security.Claims.ClaimsPrincipal * System.IdentityModel.Protocols.WSTrust.RequestSecurityToken -> System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse
Public Overridable Function Issue (principal As ClaimsPrincipal, request As RequestSecurityToken) As RequestSecurityTokenResponse
Parametry
- principal
- ClaimsPrincipal
Element ClaimsPrincipal reprezentujący tożsamość osoby żądającej tokenu.
- request
- RequestSecurityToken
Element RequestSecurityToken reprezentujący żądanie tokenu zabezpieczającego. Obejmuje to komunikat żądania, a także inne informacje związane z klientem, takie jak kontekst autoryzacji.
Zwraca
Element RequestSecurityTokenResponse zawierający wystawiony token zabezpieczający.
Uwagi
Ta metoda implementuje powiązanie problemu zdefiniowane w specyfikacji WS-Trust. Domyślna implementacja Issue metody przetwarza żądanie przychodzące (RST) za pośrednictwem potoku wystawiania tokenu (wystawiania oświadczeń) i zwraca odpowiedź (RSTR), która zawiera token zabezpieczający z odpowiednimi oświadczeniami w celu uwierzytelnienia osoby żądającej za pomocą żądania żądania lub odpowiedniego wyjątku. Potok wystawiania tokenu w domyślnej implementacji składa się z wywołań do następujących metod (klasy SecurityTokenService ).
Metoda ValidateRequest sprawdzania poprawności żądania (RST).
Metoda GetScope pobierania obiektu zawierającego Scope informacje o jednostki uzależnionej skojarzonej z żądaniem. Tę metodę należy zastąpić. Jeśli GetScope zwraca
null
wartość InvalidOperationException , jest zgłaszana wartość .Metoda CreateSecurityTokenDescriptor zwracania deskryptora tokenu zabezpieczającego na podstawie RST i Scope obiektu zwróconego w poprzednim kroku. Deskryptor tokenu zabezpieczającego (SecurityTokenDescriptor) zawiera informacje o żądaniu w formularzu, który może być używany przez procedurę obsługi tokenów. Właściwość SecurityTokenService.SecurityTokenDescriptor jest ustawiona na deskryptor zwrócony przez wywołanie. Jeśli
null
jest zwracana lub właściwość SigningCredentials deskryptora tonull
, InvalidOperationException jest zgłaszana wartość . Wyjątek jest również zgłaszany, jeśli właściwość jesttrue
, ale EncryptingCredentials właściwość w zwróconym deskryptorze tonull
.Scope.TokenEncryptionRequiredMetoda GetSecurityTokenHandler pobierania odpowiedniej procedury obsługi tokenów na podstawie żądanego rodzaju tokenu. Jeśli
null
zostanie zwrócona wartość , NotImplementedException zostanie zwrócona wartość .Metoda GetIssuerName pobierania nazwy wystawcy tokenu. Zgłasza wartość InvalidOperationException , jeśli nazwa jest lub jest
null
pusta; w przeciwnym razie ustawia TokenIssuerName właściwość na deskryptorze.Metoda GetTokenLifetime pobierania okresu istnienia tokenu i ustawia Lifetime właściwość na deskryptorze.
Metoda GetProofToken pobierania tokenu dowodowego do uwzględnienia w wystawionym tokenie i ustawia Proof właściwość na deskryptorze.
Metoda GetOutputClaimsIdentity pobierania oświadczeń do uwzględnienia w wystawionym tokenie i ustawia Subject właściwość na deskryptorze. Tę metodę należy zastąpić.
Metoda GetResponse tworzenia odpowiedzi (RSTR), która zawiera wystawiony token.
Metodę Issue można zastąpić w celu zaimplementowania niestandardowego potoku wystawiania tokenów, jednak zwykle nie jest to konieczne w środowiskach deweloperskich i testowych, dla których są przeznaczone większość niestandardowych implementacji SecurityTokenService klasy. W wielu z tych przypadków zastąpisz metody i GetScope i opcjonalnie zastąpisz GetOutputClaimsIdentityValidateRequest metodę , aby zapewnić usługową usługę STS dla danego środowiska. Jeśli konieczne jest dalsze dostosowanie, często można go podać, przesłaniając metody implementujące każdy etap domyślnego potoku wystawiania tokenów wymienione powyżej.