SecurityTokenService.Issue(ClaimsPrincipal, RequestSecurityToken) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vydá token zabezpečení.
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
A ClaimsPrincipal , který představuje identitu žadatele o token.
- request
- RequestSecurityToken
A RequestSecurityToken , který představuje požadavek na token zabezpečení. To zahrnuje zprávu požadavku a také další informace související s klientem, jako je kontext autorizace.
Návraty
A RequestSecurityTokenResponse , který obsahuje vydaný token zabezpečení.
Poznámky
Tato metoda implementuje vazbu Issue definovanou ve specifikaci WS-Trust. Výchozí implementace Issue metody zpracovává příchozí požadavek (RST) prostřednictvím kanálu vystavování tokenů (vystavování deklarací identity) a vrací buď odpověď (RSTR), která obsahuje token zabezpečení s příslušnými deklaracemi identity k ověření žadatele s poskytovatelem prostředků, nebo příslušnou výjimkou. Kanál vystavování tokenů ve výchozí implementaci se skládá z volání následujících metod ( SecurityTokenService třídy ).
Metoda ValidateRequest ověření požadavku (RST).
Metoda GetScope získání objektu Scope , který obsahuje informace o předávající straně (RP) přidružené k požadavku. Tuto metodu je nutné přepsat. Pokud GetScope vrátí
null
hodnotu , vyvolá se InvalidOperationException hodnota .Metoda CreateSecurityTokenDescriptor pro vrácení popisovače tokenu zabezpečení na základě RST a objektu Scope vráceného v předchozím kroku. Popisovač tokenu zabezpečení (SecurityTokenDescriptor) obsahuje informace o požadavku ve formuláři, který může použít obslužná rutina tokenů. Vlastnost SecurityTokenService.SecurityTokenDescriptor je nastavena na popisovač vrácený voláním. Pokud
null
se vrátí nebo pokud SigningCredentials jenull
vlastnost popisovače , InvalidOperationException vyvolá se hodnota . Výjimka se vyvolá také v případě, že Scope.TokenEncryptionRequired vlastnost jetrue
, ale EncryptingCredentials vlastnost na vrácený popisovač jenull
.Metoda GetSecurityTokenHandler pro získání příslušné obslužné rutiny tokenu na základě druhu požadovaného tokenu. Pokud
null
se vrátí, vyvolá se NotImplementedException hodnota .Metoda GetIssuerName pro získání názvu vystavitele tokenu. Vyvolá , InvalidOperationException pokud je
null
název nebo prázdný; v opačném případě nastaví TokenIssuerName vlastnost popisovače.Metoda GetTokenLifetime získání životnosti tokenu a nastavení Lifetime vlastnosti popisovače.
Metoda GetProofToken získání tokenu proof, který se má zahrnout do vydaného tokenu Proof , a nastaví vlastnost popisovače.
Metoda GetOutputClaimsIdentity pro získání deklarací identity, které se mají zahrnout do vystaveného tokenu Subject , a nastaví vlastnost popisovače. Tuto metodu je nutné přepsat.
Metoda GetResponse pro vytvoření odpovědi (RSTR), která obsahuje vydaný token.
Metodu Issue můžete přepsat implementací vlastního kanálu vystavování tokenů. To však obvykle není nutné ve vývojovém a testovacím prostředí, pro které je určena většina vlastních implementací SecurityTokenService třídy. V mnoha z těchto případů přepíšete GetOutputClaimsIdentity metody a GetScope a volitelně přepíšete metodu ValidateRequest tak, aby poskytovala služby STS pro vaše prostředí. Pokud je potřeba další přizpůsobení, můžete ho často poskytnout přepsáním metod, které implementují jednotlivé fáze výchozího kanálu vystavování tokenů uvedených výše.