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
Obiekt 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 przychodzące żądanie (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ą dostawcy zasobów lub odpowiedniego wyjątku. Potok wystawiania tokenu w domyślnej implementacji składa się z wywołań do następujących metod ( SecurityTokenService klasy).
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 funkcja zwraca
nullwartość , 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 postaci, która może być używana przez program obsługi tokenów. Właściwość jest ustawiona SecurityTokenService.SecurityTokenDescriptor na deskryptor zwracany przez wywołanie . Jeśli
nulljest 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 zwracanym deskryptorze tonull.Scope.TokenEncryptionRequiredMetoda pobierania GetSecurityTokenHandler odpowiedniej procedury obsługi tokenów na podstawie rodzaju żądanego tokenu. Jeśli
nullzostanie zwrócona wartość , zostanie zwrócona NotImplementedException wartość .Metoda GetIssuerName pobierania nazwy wystawcy tokenu. Zwraca wartość InvalidOperationException , jeśli nazwa jest
nulllub jest pusta; w przeciwnym razie ustawia TokenIssuerName właściwość deskryptora.Metoda GetTokenLifetime pobierania okresu istnienia tokenu i ustawia Lifetime właściwość w deskryptorze.
Metoda GetProofToken uzyskiwania tokenu dowodowego do uwzględnienia w wystawionym tokenie i ustawia Proof właściwość w deskryptorze.
Metoda GetOutputClaimsIdentity pobierania oświadczeń do uwzględnienia w wystawionym tokenie i ustawia Subject właściwość w deskryptorze. Tę metodę należy zastąpić.
Metoda GetResponse tworzenia odpowiedzi (RSTR), która zawiera wystawiony token.
Można zastąpić metodę Issue w celu zaimplementowania niestandardowego potoku wystawiania tokenów, jednak zwykle nie jest to konieczne w środowiskach deweloperskich i testowych, dla których mają być przeznaczone większość niestandardowych implementacji SecurityTokenService klasy. W wielu z tych przypadków zastąpisz GetOutputClaimsIdentity metody i GetScope i opcjonalnie zastąpisz ValidateRequest metodę , aby zapewnić usługę STS dla danego środowiska. Jeśli konieczne jest dalsze dostosowanie, często można je podać, przesłaniając metody implementujące każdy etap domyślnego potoku wystawiania tokenu wymienionego powyżej.