Freigeben über


RequestSecurityToken Klasse

Definition

Stellt das wst:RequestSecurityToken-Element (RST) dar, das verwendet wird, um ein Sicherheitstoken anzufordern.

public ref class RequestSecurityToken : System::IdentityModel::Protocols::WSTrust::WSTrustMessage
public class RequestSecurityToken : System.IdentityModel.Protocols.WSTrust.WSTrustMessage
type RequestSecurityToken = class
    inherit WSTrustMessage
Public Class RequestSecurityToken
Inherits WSTrustMessage
Vererbung
RequestSecurityToken

Beispiele

Das Codebeispiel, das in diesem Thema verwendet wird, stammt aus dem Custom Token Beispiel. Dieses Beispiel enthält benutzerdefinierte Klassen, die die Verarbeitung von Einfachen Webtoken (SWT) ermöglichen, sowie eine Implementierung eines passiven STS, der ein SWT-Token bereitstellen kann. Der STS wird von einer Klasse implementiert, die von SecurityTokenServiceabgeleitet wird. Viele der Methoden der -Klasse, die SecurityTokenService aus ihrer Tokenausstellungspipeline aufgerufen werden, nehmen ein -Objekt wie eins RequestSecurityToken ihrer Parameter an. Informationen zu diesem Beispiel und anderen für WIF verfügbaren Beispielen und zu deren Downloadmöglichkeiten finden Sie unter WIF-Codebeispielindex.

Im folgenden Codebeispiel wird eine Implementierung der SecurityTokenService.GetScope-Methode veranschaulicht. Die -Methode verwendet einen RequestSecurityToken als einen ihrer Parameter, und Eigenschaften dieses Parameters werden verwendet, um Eigenschaften für das Scope Objekt festzulegen, das von der -Methode zurückgegeben wird.

// Certificate Constants
private const string SIGNING_CERTIFICATE_NAME = "CN=localhost";
private const string ENCRYPTING_CERTIFICATE_NAME = "CN=localhost";

private SigningCredentials _signingCreds;
private EncryptingCredentials _encryptingCreds;
// Used for validating applies to address, set to URI used in RP app of application, could also have been done via config
private string _addressExpected = "http://localhost:19851/";
/// <summary>
/// This method returns the configuration for the token issuance request. The configuration
/// is represented by the Scope class. In our case, we are only capable of issuing a token to a
/// single RP identity represented by the _encryptingCreds field.
/// </summary>
/// <param name="principal">The caller's principal</param>
/// <param name="request">The incoming RST</param>
/// <returns></returns>
protected override Scope GetScope(ClaimsPrincipal principal, RequestSecurityToken request)
{
    // Validate the AppliesTo address
    ValidateAppliesTo( request.AppliesTo );

    // Create the scope using the request AppliesTo address and the RP identity
    Scope scope = new Scope( request.AppliesTo.Uri.AbsoluteUri, _signingCreds );

    if (Uri.IsWellFormedUriString(request.ReplyTo, UriKind.Absolute))
    {
        if (request.AppliesTo.Uri.Host != new Uri(request.ReplyTo).Host)
            scope.ReplyToAddress = request.AppliesTo.Uri.AbsoluteUri;
        else
            scope.ReplyToAddress = request.ReplyTo;
    }
    else
    {
        Uri resultUri = null;
        if (Uri.TryCreate(request.AppliesTo.Uri, request.ReplyTo, out resultUri))
            scope.ReplyToAddress = resultUri.AbsoluteUri;
        else
            scope.ReplyToAddress = request.AppliesTo.Uri.ToString() ;
    }

    // Note: In this sample app only a single RP identity is shown, which is localhost, and the certificate of that RP is 
    // populated as _encryptingCreds
    // If you have multiple RPs for the STS you would select the certificate that is specific to 
    // the RP that requests the token and then use that for _encryptingCreds
    scope.EncryptingCredentials = _encryptingCreds;

    return scope;
}
/// <summary>
/// Validates the appliesTo and throws an exception if the appliesTo is null or appliesTo contains some unexpected address.
/// </summary>
/// <param name="appliesTo">The AppliesTo parameter in the request that came in (RST)</param>
/// <returns></returns>
void ValidateAppliesTo(EndpointReference appliesTo)
{
    if (appliesTo == null)
    {
        throw new InvalidRequestException("The appliesTo is null.");
    }

    if (!appliesTo.Uri.Equals(new Uri(_addressExpected)))
    {
        throw new InvalidRequestException(String.Format("The relying party address is not valid. Expected value is {0}, the actual value is {1}.", _addressExpected, appliesTo.Uri.AbsoluteUri));
    }
}

Hinweise

Das wst:RequestSecurityToken-Element (Message) enthält die Parameter und Eigenschaften, die zum Anfordern eines Sicherheitstokens von einem Sicherheitstokendienst (STS) verwendet werden. Die Nachricht (oder das Element) wird als RST abgekürzt. Die RequestSecurityToken -Klasse enthält Eigenschaften, die die Elemente der RST darstellen. Ein RST kann eine Anforderung bilden, die einer der von WS-Trust definierten Anforderungsbindungen entspricht. beispielsweise die Ausstellungsbindung, die Verlängerungsbindung, die Validate-Bindung oder die Cancel-Bindung. Viele der Eigenschaften in der RequestSecurityToken -Klasse entsprechen Elementen, die nur in bestimmten Arten von Anforderungen vorhanden sind, wie durch diese Bindungen definiert. Abhängig von der Art der Anforderung, die ein bestimmtes RequestSecurityToken Objekt darstellt, oder den Parametern in der spezifischen Anforderung, die es darstellt, können einige Eigenschaften des Objekts sein null.

Der STS gibt eine Antwort auf die Anforderung in einer Nachricht zurück, die ein wst:RequestSecurityTokenResponse-Element (RSTR) enthält. Diese Meldung wird durch die RequestSecurityTokenResponse -Klasse dargestellt.

Weitere Informationen über das Element, das diese Klasse darstellt, erhalten Sie in der WS-Trust-Spezifikation, die Ihrem Szenario entspricht: WS-Trust, Februar 2005, WS-Trust 1.3 oder WS-Trust 1.4.

Konstruktoren

RequestSecurityToken()

Initialisiert eine neue Instanz der RequestSecurityToken-Klasse.

RequestSecurityToken(String)

Initialisiert eine neue Instanz der RequestSecurityToken-Klasse mit der angegebenen Anforderung.

RequestSecurityToken(String, String)

Initialisiert eine neue Instanz der RequestSecurityToken-Klasse mit der angegebenen Anforderung.

Eigenschaften

ActAs

Ruft das Sicherheitstoken für die Identität des Anfordernden ab, die dieser darzustellen versucht, oder legt dieses fest.

AdditionalContext

Ruft die zusätzlichen Kontextinformationen für die Anforderung ab oder legt diese fest.

AllowPostdating

Ruft den Inhalt des wst:AllowPostdating-Elements ab oder legt diesen fest.

(Geerbt von WSTrustMessage)
AppliesTo

Ruft den Inhalt des wsp:AppliesTo-Elements ab oder legt diesen fest.

(Geerbt von WSTrustMessage)
AuthenticationType

Ruft den Inhalt des wst:AuthenticationType-Elements ab oder legt diesen fest.

(Geerbt von WSTrustMessage)
BinaryExchange

Ruft den Inhalt des wst:BinaryExchange-Elements ab oder legt diesen fest.

(Geerbt von WSTrustMessage)
CancelTarget

Ruft das Token ab, das in einer WS-Trust-Abbruchanforderung abgebrochen werden soll, oder legt dieses fest.

CanonicalizationAlgorithm

Ruft den Inhalt des wst:CanonicalizationAlgorithm-Elements ab oder legt diesen fest.

(Geerbt von WSTrustMessage)
Claims

Ruft die Anspruchstypen ab, die vom Client (Anfordernden) angefordert werden.

ComputedKeyAlgorithm

Ruft einen URI ab, der den gewünschten Algorithmus darstellt, der verwendet wird, wenn berechnete Schlüssel für ausgestellte Token verwendet werden.

Context

Ruft den Inhalt des Kontextattributs auf dem RST oder RSTR ab oder legt diesen fest.

(Geerbt von WSTrustMessage)
Delegatable

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob das ausgestellte Token als delegierbar gekennzeichnet werden soll.

DelegateTo

Ruft die Identität ab, auf die das ausgestelltes Token übertragen werden soll, oder legt diese fest.

Encryption

Ruft Informationen über das Token und den Schlüssel ab, das bzw. der beim Verschlüsseln verwendet werden soll, oder legt diese fest.

EncryptionAlgorithm

Ruft den Inhalt des wst:EncryptionAlgorithm-Elements ab oder legt diesen fest.

(Geerbt von WSTrustMessage)
EncryptWith

Ruft den Inhalt des wst:EncryptWith-Elements ab oder legt diesen fest.

(Geerbt von WSTrustMessage)
Entropy

Ruft den Inhalt des wst:Entropy-Elements ab oder legt diesen fest.

(Geerbt von WSTrustMessage)
Forwardable

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob das ausgestellte Token als weiterleitbar gekennzeichnet werden soll.

Issuer

Ruft den Aussteller des wst:OnBehalfOf-Tokens ab oder legt ihn fest.

KeySizeInBits

Ruft den Inhalt des wst:KeySize-Elements innerhalb einer RequestSecurity Token (RST)-Nachricht ab oder legt diesen fest.

(Geerbt von WSTrustMessage)
KeyType

Ruft den Inhalt des wst:KeyType-Elements innerhalb einer RequestSecurity Token (RST)-Nachricht ab oder legt diesen fest.

(Geerbt von WSTrustMessage)
KeyWrapAlgorithm

Ruft den Inhalt des wst:KeyWrapAlgorithm-Elements ab oder legt diesen fest.

(Geerbt von WSTrustMessage)
Lifetime

Ruft den Inhalt deswst:Lifetime -Elements innerhalb einer RequestSecurity Token (RST)-Nachricht ab oder legt diesen fest.

(Geerbt von WSTrustMessage)
OnBehalfOf

Ruft das Token für die Identität ab, in deren Auftrag die Anforderung gestellt wird, oder legt dieses fest.

Participants

Ruft die Teilnehmer ab, die berechtigt sind, das ausgestellte Token zu verwenden, oder legt diese fest.

ProofEncryption

Ruft das Token ab, das zum Verschlüsseln des Prüftokens verwendet werden soll, oder legt dieses fest.

Properties

Ruft die Eigenschaftensammlung ab, um das Objekt zu erweitern.

(Geerbt von OpenObject)
Renewing

Ruft die Erneuerungs-Semantik für eine WS-Trust-Renew-Anforderung ab oder legt diese fest.

RenewTarget

Ruft das Token ab, das in einer WS-Trust-Erneuerungsanforderung erneuert werden soll, oder legt dieses fest.

ReplyTo

Ruft die Adresse ab, die für Antworten an die abhängige Seite verwendet werden soll, oder legt diese fest.

(Geerbt von WSTrustMessage)
RequestType

Ruft das wst:RequestType-Element ab oder legt dieses fest.

(Geerbt von WSTrustMessage)
SecondaryParameters

Ruft Parameter ab, für die der Anfordernde nicht der Ersteller ist, oder legt diese fest.

SignatureAlgorithm

Ruft den Inhalt des wst:SignatureAlgorithm-Elements ab oder legt diesen fest.

(Geerbt von WSTrustMessage)
SignWith

Ruft den Inhalt des wst:SignWith-Elements ab oder legt diesen fest.

(Geerbt von WSTrustMessage)
TokenType

Ruft den Inhalt des wst:TokenType-Elements ab oder legt diesen fest.

(Geerbt von WSTrustMessage)
UseKey

Ruft den Inhalt des wst:UseKey-Elements ab oder legt diesen fest.

(Geerbt von WSTrustMessage)
ValidateTarget

Ruft das Token ab, das in einer WS-Trust-Validierungsanforderung validiert werden soll, oder legt dieses fest.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen