SecurityTokenService.Issue(ClaimsPrincipal, RequestSecurityToken) Metod

Definition

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).

  1. Metoden ValidateRequest för att verifiera begäran (RST).

  2. 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 .

  3. 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 null returneras eller om SigningCredentials egenskapen för beskrivningen är null, genereras en InvalidOperationException . Undantaget utlöses också om egenskapen Scope.TokenEncryptionRequired är true men EncryptingCredentials egenskapen på den returnerade beskrivningen är null.

  4. Metoden GetSecurityTokenHandler för att hämta lämplig tokenhanterare baserat på vilken typ av token som begärs. Om null returneras utlöses en NotImplementedException .

  5. Metoden GetIssuerName för att hämta utfärdarnamnet för token. Genererar ett InvalidOperationException om namnet är null eller tomt. I annat fall anges TokenIssuerName egenskapen på beskrivningen.

  6. Metoden GetTokenLifetime för att hämta livslängden för token och anger Lifetime egenskapen på beskrivningen.

  7. Metoden GetProofToken för att hämta bevistoken som ska inkluderas i den utfärdade token och anger Proof egenskapen på beskrivningen.

  8. 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.

  9. 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.

Gäller för