Freigeben über


SecurityTokenService.Issue(ClaimsPrincipal, RequestSecurityToken) Methode

Definition

Erstellt ein Sicherheitstoken.

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

Parameter

principal
ClaimsPrincipal

Ein ClaimsPrincipal, das die ID des angegebenen Tokenanforderers darstellt.

request
RequestSecurityToken

Ein RequestSecurityToken, das die Sicherheitstokenanforderung darstellt. Dies schließt die Anforderungsnachricht sowie andere Client-Informationen wie den Kontext der Autorisierung ein.

Gibt zurück

Ein RequestSecurityTokenResponse, das das ausgestellte Sicherheitstoken enthält.

Hinweise

Diese Methode implementiert die Issue-Bindung, die in der WS-Trust-Spezifikation definiert ist. Die Standardimplementierung der Issue Methode verarbeitet die eingehende Anforderung (RST) über eine Pipeline für die Tokenausstellung (Anspruchsausstellung) und gibt entweder eine Antwort (RSTR) zurück, die ein Sicherheitstoken mit den entsprechenden Ansprüchen zum Authentifizieren des Anforderers mit dem RP oder einer entsprechenden Ausnahme enthält. Die Tokenausstellungspipeline in der Standardimplementierung besteht aus Aufrufen der folgenden Methoden (der SecurityTokenService -Klasse).

  1. Die ValidateRequest Methode zum Überprüfen der Anforderung (RST).

  2. Die GetScope Methode zum Abrufen eines Scope Objekts, das Informationen über die vertrauende Seite (RP) enthält, die der Anforderung zugeordnet ist. Sie müssen diese Methode überschreiben. Wenn GetScope zurückgegeben nullwird, wird ein InvalidOperationException ausgelöst.

  3. Die CreateSecurityTokenDescriptor Methode zum Zurückgeben eines Sicherheitstokendeskriptors basierend auf der RST und dem Scope im vorherigen Schritt zurückgegebenen Objekt. Die Sicherheitstokenbeschreibung (SecurityTokenDescriptor) enthält Informationen zur Anforderung in einer Form, die von einem Tokenhandler verwendet werden kann. Die SecurityTokenService.SecurityTokenDescriptor -Eigenschaft wird auf den vom Aufruf zurückgegebenen Deskriptor festgelegt. Wenn null zurückgegeben wird oder wenn die SigningCredentials Eigenschaft des Deskriptors lautet null, wird ein InvalidOperationException ausgelöst. Die Ausnahme wird auch ausgelöst, wenn die Scope.TokenEncryptionRequired Eigenschaft true für den zurückgegebenen Deskriptor nullistEncryptingCredentials.

  4. Die GetSecurityTokenHandler Methode zum Abrufen des entsprechenden Tokenhandlers basierend auf der Art des angeforderten Tokens. Wenn null zurückgegeben wird, wird ein NotImplementedException ausgelöst.

  5. Die GetIssuerName Methode zum Abrufen des Ausstellernamens für das Token. Löst ein aus InvalidOperationException , wenn der Name leer ist null , andernfalls legt die TokenIssuerName Eigenschaft für die Deskriptor fest.

  6. Die GetTokenLifetime Methode, um die Lebensdauer für das Token abzurufen und die Lifetime -Eigenschaft für den Deskriptor fest.

  7. Die GetProofToken Methode zum Abrufen des Prooftokens, das in das ausgestellte Token eingeschlossen werden soll, und legt die Proof -Eigenschaft für den Deskriptor fest.

  8. Die GetOutputClaimsIdentity Methode zum Abrufen der Ansprüche, die in das ausgestellte Token eingeschlossen werden sollen, und legt die Subject -Eigenschaft für den Deskriptor fest. Sie müssen diese Methode überschreiben.

  9. Die GetResponse Methode zum Erstellen einer Antwort (RSTR), die das ausgestellte Token enthält.

Sie können die Issue Methode überschreiben, um eine Pipeline für die Benutzerdefinierte Tokenausstellung zu implementieren. Dies ist jedoch in den Entwicklungs- und Testumgebungen, für die die meisten benutzerdefinierten Implementierungen der Klasse vorgesehen sind, in der SecurityTokenService Regel nicht erforderlich. In vielen dieser Fälle überschreiben Sie die GetOutputClaimsIdentity Methoden und GetScope und und überschreiben optional die ValidateRequest -Methode, um einen dienstbaren STS für Ihre Umgebung bereitzustellen. Wenn weitere Anpassungen erforderlich sind, können Sie diese häufig bereitstellen, indem Sie die Methoden überschreiben, die die einzelnen Phasen der oben aufgeführten Standardtokenausstellungspipeline implementieren.

Gilt für: