SecurityTokenService.Issue(ClaimsPrincipal, RequestSecurityToken) Methode

Definitie

Problemen met een beveiligingstoken.

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

Parameters

principal
ClaimsPrincipal

Een ClaimsPrincipal die de identiteit van de tokenaanvraag vertegenwoordigt.

request
RequestSecurityToken

Een RequestSecurityToken die de aanvraag voor het beveiligingstoken vertegenwoordigt. Dit omvat het aanvraagbericht en andere clientgerelateerde informatie, zoals autorisatiecontext.

Retouren

Een RequestSecurityTokenResponse met het uitgegeven beveiligingstoken.

Opmerkingen

Met deze methode wordt de binding Probleem geïmplementeerd die is gedefinieerd in de specificatie WS-Trust. De standaard implementatie van de Issue methode verwerkt de binnenkomende aanvraag (RST) via een tokenuitgiftepijplijn (claimuitgifte) en retourneert een antwoord (RSTR) dat een beveiligingstoken bevat met de juiste claims om de aanvrager te verifiëren met de RP of een geschikte uitzondering. De tokenuitgiftepijplijn in de standaard implementatie bestaat uit aanroepen naar de volgende methoden (van de SecurityTokenService klasse).

  1. De ValidateRequest methode voor het valideren van de aanvraag (RST).

  2. De GetScope methode voor het ophalen van een Scope object dat informatie bevat over de relying party (RP) die aan de aanvraag is gekoppeld. U moet deze methode overschrijven. Als GetScope retourneert null, wordt er een InvalidOperationException gegooid.

  3. De CreateSecurityTokenDescriptor methode voor het retourneren van een beveiligingstokendescriptor op basis van de RST en het Scope object dat in de vorige stap is geretourneerd. De beveiligingstokendescriptor (SecurityTokenDescriptor) bevat informatie over de aanvraag in een formulier dat kan worden gebruikt door een tokenhandler. De SecurityTokenService.SecurityTokenDescriptor eigenschap is ingesteld op de descriptor die door de aanroep wordt geretourneerd. Als null deze wordt geretourneerd of als de SigningCredentials eigenschap van de descriptor is null, wordt er een InvalidOperationException gegenereerd. De uitzondering wordt ook gegenereerd als de Scope.TokenEncryptionRequired eigenschap is true maar de EncryptingCredentials eigenschap op de geretourneerde descriptor is null.

  4. De GetSecurityTokenHandler methode voor het ophalen van de juiste tokenhandler op basis van het type token dat is aangevraagd. Als null er wordt geretourneerd, wordt er een NotImplementedException gegooid.

  5. De GetIssuerName methode voor het ophalen van de naam van de uitgever voor het token. Hiermee wordt een InvalidOperationException als de naam of leeg is null , anders wordt de TokenIssuerName eigenschap ingesteld op de descriptor.

  6. De GetTokenLifetime methode voor het ophalen van de levensduur van het token en stelt de Lifetime eigenschap in op de descriptor.

  7. De GetProofToken methode om het bewijstoken op te halen dat moet worden opgenomen in het uitgegeven token en stelt de Proof eigenschap in op de descriptor.

  8. De GetOutputClaimsIdentity methode om de claims op te halen die moeten worden opgenomen in het uitgegeven token en stelt de Subject eigenschap in op de descriptor. U moet deze methode overschrijven.

  9. De GetResponse methode voor het maken van een antwoord (RSTR) dat het uitgegeven token bevat.

U kunt de methode voor het Issue implementeren van een aangepaste tokenuitgiftepijplijn overschrijven. Dit is doorgaans niet nodig in de ontwikkel- en testomgevingen waarvoor de meeste aangepaste implementaties van de SecurityTokenService klasse zijn bedoeld. In veel van deze gevallen overschrijft u de GetOutputClaimsIdentity en GetScope methoden en overschrijft u desgewenst de ValidateRequest methode om een servicebare STS voor uw omgeving te bieden. Als verdere aanpassingen nodig zijn, kunt u deze vaak opgeven door de methoden te overschrijven die elke fase van de hierboven vermelde standaard-tokenuitgiftepijplijn implementeren.

Van toepassing op