SecurityTokenService.Issue(ClaimsPrincipal, RequestSecurityToken) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Utfärdar en säkerhetstoken.
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
Parametrar
- principal
- ClaimsPrincipal
En ClaimsPrincipal som representerar tokenbegärandens identitet.
- request
- RequestSecurityToken
En RequestSecurityToken som representerar begäran om säkerhetstoken. Detta inkluderar begärandemeddelandet samt annan klientrelaterad information, till exempel auktoriseringskontext.
Returer
En RequestSecurityTokenResponse som innehåller den utfärdade säkerhetstoken.
Kommentarer
Den här metoden implementerar problembindningen som definierats i WS-Trust-specifikationen. Standardimplementeringen av Issue metoden bearbetar inkommande begäran (RST) via en pipeline för tokenutfärdande (anspråksutfärdande) och returnerar antingen ett svar (RSTR) som innehåller en säkerhetstoken med lämpliga anspråk för att autentisera beställaren med RP eller ett lämpligt undantag. Pipelinen för tokenutfärdning i standardimplementeringen består av anrop till följande metoder (av SecurityTokenService klassen).
Metoden ValidateRequest för att verifiera begäran (RST).
Metoden GetScope för att hämta ett Scope objekt som innehåller information om den förlitande part (RP) som är associerad med begäran. Du måste åsidosätta den här metoden. Om GetScope returnerar
nullutlöses en InvalidOperationException .Metoden CreateSecurityTokenDescriptor för att returnera en säkerhetstokenbeskrivning baserat på RST och objektet Scope som returnerades i föregående steg. Säkerhetstokenbeskrivningen (SecurityTokenDescriptor) innehåller information om begäran i ett formulär som kan användas av en tokenhanterare. Egenskapen SecurityTokenService.SecurityTokenDescriptor är inställd på den beskrivning som returneras av anropet. Om
nullreturneras eller om SigningCredentials egenskapen för beskrivningen ärnull, genereras en InvalidOperationException . Undantaget utlöses också om egenskapen Scope.TokenEncryptionRequired ärtruemen EncryptingCredentials egenskapen på den returnerade beskrivningen ärnull.Metoden GetSecurityTokenHandler för att hämta lämplig tokenhanterare baserat på vilken typ av token som begärs. Om
nullreturneras utlöses en NotImplementedException .Metoden GetIssuerName för att hämta utfärdarnamnet för token. Genererar ett InvalidOperationException om namnet är
nulleller tomt. I annat fall anges TokenIssuerName egenskapen på beskrivningen.Metoden GetTokenLifetime för att hämta livslängden för token och anger Lifetime egenskapen på beskrivningen.
Metoden GetProofToken för att hämta bevistoken som ska inkluderas i den utfärdade token och anger Proof egenskapen på beskrivningen.
Metoden GetOutputClaimsIdentity för att hämta anspråken som ska inkluderas i den utfärdade token och anger Subject egenskapen på beskrivningen. Du måste åsidosätta den här metoden.
Metoden GetResponse för att skapa ett svar (RSTR) som innehåller den utfärdade token.
Du kan åsidosätta Issue metoden för att implementera en pipeline för utfärdande av anpassad token, men detta är vanligtvis inte nödvändigt i de utvecklings- och testmiljöer som de flesta anpassade implementeringar av SecurityTokenService klassen är avsedda för. I många av dessa fall åsidosätter GetOutputClaimsIdentity du metoderna och GetScope kan också åsidosätta ValidateRequest metoden för att tillhandahålla en användbar STS för din miljö. Om ytterligare anpassning krävs kan du ofta ange den genom att åsidosätta de metoder som implementerar varje steg i pipelinen för utfärdande av standardtoken som anges ovan.