RequestSecurityToken Klas

Definitie

Vertegenwoordigt het element wst:RequestSecurityToken (RST), dat wordt gebruikt om een beveiligingstoken aan te vragen.

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
Overname
RequestSecurityToken

Voorbeelden

Het codevoorbeeld dat in dit onderwerp wordt gebruikt, wordt uit het Custom Token voorbeeld genomen. Dit voorbeeld biedt aangepaste klassen die verwerking van Eenvoudige webtokens (SWT) mogelijk maken en bevat een implementatie van een passieve STS die een SWT-token kan leveren. De STS wordt geïmplementeerd door een klasse die is afgeleid van SecurityTokenService. Veel van de methoden van de klasse die worden aangeroepen vanuit de SecurityTokenService tokenuitgiftepijplijn, nemen een RequestSecurityToken object als één als hun parameters. Zie de WIF-codevoorbeeldindex voor informatie over dit voorbeeld en andere voorbeelden die beschikbaar zijn voor WIF en waar u ze kunt downloaden.

In het volgende codevoorbeeld ziet u een implementatie van de SecurityTokenService.GetScope methode. De methode gebruikt een RequestSecurityToken van de parameters en eigenschappen van deze parameter om eigenschappen in te stellen voor het Scope object dat door de methode wordt geretourneerd.

// 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));
    }
}

Opmerkingen

Het element wst:RequestSecurityToken (bericht) bevat de parameters en eigenschappen die worden gebruikt om een beveiligingstoken aan te vragen bij een beveiligingstokenservice (STS). Het bericht (of element) wordt afgekort als RST. De RequestSecurityToken klasse bevat eigenschappen die de elementen van de RST vertegenwoordigen. Een RST kan een aanvraag vormen die overeenkomt met een van de aanvraagbindingen die zijn gedefinieerd door WS-Trust; Bijvoorbeeld de uitgiftebinding, de verlengingsbinding, de binding Valideren of de binding Annuleren. Veel van de eigenschappen in de RequestSecurityToken klasse komen overeen met elementen die alleen aanwezig zijn in specifieke soorten aanvragen, zoals gedefinieerd door deze bindingen. Afhankelijk van het soort aanvraag dat een bepaald RequestSecurityToken object vertegenwoordigt of de parameters die aanwezig zijn in de specifieke aanvraag die het voorstelt, kunnen sommige eigenschappen van het object zijn null.

De STS retourneert een antwoord op de aanvraag in een bericht dat een wst:RequestSecurityTokenResponse-element (RSTR) bevat. Dit bericht wordt vertegenwoordigd door de RequestSecurityTokenResponse klasse.

Zie de WS-Trust specificatie die van toepassing is op uw scenario voor meer informatie over het element dat deze klasse voorstelt: WS-Trust februari 2005, WS-Trust 1.3 of WS-Trust 1.4.

Constructors

Name Description
RequestSecurityToken()

Initialiseert een nieuw exemplaar van de RequestSecurityToken klasse.

RequestSecurityToken(String, String)

Initialiseert een nieuw exemplaar van de RequestSecurityToken klasse met het opgegeven aanvraagtype.

RequestSecurityToken(String)

Initialiseert een nieuw exemplaar van de RequestSecurityToken klasse met het opgegeven aanvraagtype.

Eigenschappen

Name Description
ActAs

Hiermee wordt het beveiligingstoken opgehaald of ingesteld voor de identiteit die de aanvrager probeert te fungeren.

AdditionalContext

Hiermee haalt u de aanvullende contextinformatie voor de aanvraag op of stelt u deze in.

AllowPostdating

Hiermee wordt de inhoud van het element wst:AllowPostdating ophaalt of ingesteld.

(Overgenomen van WSTrustMessage)
AppliesTo

Hiermee haalt u de inhoud van het element wsp:AppliesTo op of stelt u deze in.

(Overgenomen van WSTrustMessage)
AuthenticationType

Hiermee haalt u de inhoud van het element wst:AuthenticationType op of stelt u deze in.

(Overgenomen van WSTrustMessage)
BinaryExchange

Hiermee haalt u de inhoud van het wst:BinaryExchange-element op of stelt u deze in.

(Overgenomen van WSTrustMessage)
CancelTarget

Hiermee wordt het token opgehaald of ingesteld dat moet worden geannuleerd in een WS-Trust annuleringsaanvraag.

CanonicalizationAlgorithm

Hiermee wordt de inhoud van het element wst:CanonicalizationAlgorithm opgehaald of ingesteld.

(Overgenomen van WSTrustMessage)
Claims

Hiermee haalt u de claimtypen op die zijn aangevraagd door de client (aanvrager).

ComputedKeyAlgorithm

Hiermee haalt u een URI op die het gewenste algoritme vertegenwoordigt dat moet worden gebruikt wanneer berekende sleutels worden gebruikt voor uitgegeven tokens.

Context

Hiermee haalt u de inhoud van het contextkenmerk op de RST of RSTR op of stelt u deze in.

(Overgenomen van WSTrustMessage)
Delegatable

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het uitgegeven token moet worden gemarkeerd als delegatable.

DelegateTo

Hiermee wordt de identiteit opgehaald of ingesteld waaraan het uitgegeven token moet worden gedelegeerd.

Encryption

Hiermee haalt u informatie op over het token en de sleutel die moet worden gebruikt bij het versleutelen.

EncryptionAlgorithm

Hiermee wordt de inhoud van het element wst:EncryptionAlgorithm opgehaald of ingesteld.

(Overgenomen van WSTrustMessage)
EncryptWith

Hiermee haalt u de inhoud van het element wst:EncryptWith op of stelt u deze in.

(Overgenomen van WSTrustMessage)
Entropy

Hiermee haalt u de inhoud van het wst:Entropy-element op of stelt u deze in.

(Overgenomen van WSTrustMessage)
Forwardable

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het uitgegeven token moet worden gemarkeerd als doorsturend.

Issuer

Hiermee wordt de verlener van het wst:OnBehalfOf-token opgehaald of ingesteld.

KeySizeInBits

Hiermee wordt de inhoud van het element wst:KeySize opgehaald of ingesteld in een RST-bericht (RequestSecurityToken).

(Overgenomen van WSTrustMessage)
KeyType

Hiermee wordt de inhoud van het element wst:KeyType opgehaald of ingesteld in een RST-bericht (RequestSecurityToken).

(Overgenomen van WSTrustMessage)
KeyWrapAlgorithm

Hiermee wordt de inhoud van het element wst:KeyWrapAlgorithm opgehaald of ingesteld.

(Overgenomen van WSTrustMessage)
Lifetime

Hiermee wordt de inhoud van het wst:Lifetime-element in een RST-bericht (RequestSecurityToken) opgehaald of ingesteld.

(Overgenomen van WSTrustMessage)
OnBehalfOf

Hiermee wordt het token opgehaald of ingesteld voor de identiteit namens wie de aanvraag wordt gedaan.

Participants

Hiermee worden de deelnemers opgehaald of ingesteld die gemachtigd zijn om het uitgegeven token te gebruiken.

ProofEncryption

Hiermee wordt het token opgehaald of ingesteld dat moet worden gebruikt om het bewijstoken te versleutelen.

Properties

Hiermee haalt u de eigenschappenzak op om het object uit te breiden.

(Overgenomen van OpenObject)
Renewing

Hiermee haalt u de vernieuwingssemantiek voor een WS-Trust verlengingsaanvraag op of stelt u deze in.

RenewTarget

Hiermee kunt u het token ophalen of instellen dat het wordt vernieuwd in een WS-Trust verlengingsaanvraag.

ReplyTo

Hiermee haalt u het adres op dat moet worden gebruikt voor het beantwoorden van de Relying Party.

(Overgenomen van WSTrustMessage)
RequestType

Hiermee haalt u het element wst:RequestType op of stelt u dit in.

(Overgenomen van WSTrustMessage)
SecondaryParameters

Hiermee haalt u parameters op waarvoor de aanvrager niet de aanvrager is.

SignatureAlgorithm

Hiermee wordt de inhoud van het element wst:SignatureAlgorithm opgehaald of ingesteld.

(Overgenomen van WSTrustMessage)
SignWith

Hiermee wordt de inhoud van het element wst:SignWith ophaalt of ingesteld.

(Overgenomen van WSTrustMessage)
TokenType

Hiermee wordt de inhoud van het element wst:TokenType opgehaald of ingesteld.

(Overgenomen van WSTrustMessage)
UseKey

Hiermee wordt de inhoud van het element wst:UseKey opgehaald of ingesteld.

(Overgenomen van WSTrustMessage)
ValidateTarget

Hiermee wordt het token opgehaald of ingesteld dat moet worden gevalideerd in een WS-Trust validatieaanvraag.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook