RequestSecurityToken Třída

Definice

Představuje wst:RequestSecurityToken element (RST), který se používá k vyžádání tokenu zabezpečení.

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
Dědičnost
RequestSecurityToken

Příklady

Příklad kódu, který se používá v tomto tématu, je převzat z ukázky Custom Token . Tato ukázka poskytuje vlastní třídy, které umožňují zpracování jednoduchých webových tokenů (SWT) a zahrnuje implementaci pasivní stS, která je schopna obsluhovat token SWT. StS je implementována třídou, která je odvozena z SecurityTokenService. Mnoho metod SecurityTokenService třídy, které jsou volána z kanálu vystavení tokenu RequestSecurityToken , má objekt jako jeden, pokud jejich parametry. Informace o této ukázce a dalších ukázkách, které jsou k dispozici pro WIF a o tom, kde je stáhnout, najdete v části Index ukázek kódu WIF.

Následující příklad kódu ukazuje implementaci SecurityTokenService.GetScope metody. Metoda přebírá RequestSecurityToken jako jeden z jeho parametrů a vlastností tohoto parametru jsou použity k nastavení vlastností objektu Scope , který je vrácen metodou.

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

Poznámky

Wst:RequestSecurityToken – element (zpráva) obsahuje parametry a vlastnosti použité k vyžádání tokenu zabezpečení ze služby tokenu zabezpečení (STS). Zpráva (nebo prvek) je zkrácena jako RST. Třída RequestSecurityToken obsahuje vlastnosti, které představují prvky RST. RST může vytvořit požadavek, který odpovídá jakékoli vazbě požadavku definované ws-Trust; Například vazby vystavení, vazby Prodlužování platnosti, Ověřit vazbu nebo Zrušit vazbu. Mnoho vlastností ve RequestSecurityToken třídě odpovídá prvkům, které jsou přítomny pouze v konkrétních typech požadavků definovaných těmito vazbami. V závislosti na druhu požadavku konkrétní RequestSecurityToken objekt představuje nebo parametry přítomné v konkrétním požadavku, který představuje, mohou být nullněkteré vlastnosti objektu .

Služba TOKENS vrátí odpověď na požadavek ve zprávě, která obsahuje element wst:RequestSecurityTokenResponse (RSTR). Tato zpráva je reprezentována RequestSecurityTokenResponse třídou.

Další informace o prvku, který tato třída představuje, naleznete ve specifikaci WS-Trust, která platí pro váš scénář: WS-Trust února 2005, WS-Trust 1.3 nebo WS-Trust 1.4.

Konstruktory

Name Description
RequestSecurityToken()

Inicializuje novou instanci RequestSecurityToken třídy.

RequestSecurityToken(String, String)

Inicializuje novou instanci RequestSecurityToken třídy se zadaným typem požadavku.

RequestSecurityToken(String)

Inicializuje novou instanci RequestSecurityToken třídy se zadaným typem požadavku.

Vlastnosti

Name Description
ActAs

Získá nebo nastaví token zabezpečení pro identitu, kterou se žadatel pokouší jednat jako.

AdditionalContext

Získá nebo nastaví další kontextové informace pro požadavek.

AllowPostdating

Získá nebo nastaví obsah wst:AllowPostdating elementu.

(Zděděno od WSTrustMessage)
AppliesTo

Získá nebo nastaví obsah wsp:AppliesTo element.

(Zděděno od WSTrustMessage)
AuthenticationType

Získá nebo nastaví obsah wst:AuthenticationType elementu.

(Zděděno od WSTrustMessage)
BinaryExchange

Získá nebo nastaví obsah wst:BinaryExchange elementu.

(Zděděno od WSTrustMessage)
CancelTarget

Získá nebo nastaví token, který se má zrušit v WS-Trust žádosti o zrušení.

CanonicalizationAlgorithm

Získá nebo nastaví obsah wst:CanonicalizationAlgorithm elementu.

(Zděděno od WSTrustMessage)
Claims

Získá typy deklarací identity požadované klientem (žadatel).

ComputedKeyAlgorithm

Získá identifikátor URI, který představuje požadovaný algoritmus, který se má použít při použití vypočítaných klíčů pro vydané tokeny.

Context

Získá nebo nastaví obsah atributu Context na RST nebo RSTR.

(Zděděno od WSTrustMessage)
Delegatable

Získá nebo nastaví hodnotu, která určuje, zda má být vystavený token označen jako delegatable.

DelegateTo

Získá nebo nastaví identitu, na kterou má být vystavený token delegovaný.

Encryption

Získá nebo nastaví informace o tokenu a klíč, který se má použít při šifrování.

EncryptionAlgorithm

Získá nebo nastaví obsah wst:EncryptionAlgorithm elementu.

(Zděděno od WSTrustMessage)
EncryptWith

Získá nebo nastaví obsah wst:EncryptWith elementu.

(Zděděno od WSTrustMessage)
Entropy

Získá nebo nastaví obsah wst:Entropy elementu.

(Zděděno od WSTrustMessage)
Forwardable

Získá nebo nastaví hodnotu, která určuje, jestli má být vystavený token označen jako předávací.

Issuer

Získá nebo nastaví vystavitele tokenu wst:OnBehalfOf.

KeySizeInBits

Získá nebo nastaví obsah wst:KeySize element uvnitř RequestSecurityToken (RST) zprávy.

(Zděděno od WSTrustMessage)
KeyType

Získá nebo nastaví obsah wst:KeyType element uvnitř RequestSecurityToken (RST) zprávy.

(Zděděno od WSTrustMessage)
KeyWrapAlgorithm

Získá nebo nastaví obsah wst:KeyWrapAlgorithm elementu.

(Zděděno od WSTrustMessage)
Lifetime

Získá nebo nastaví obsah wst:Lifetime element uvnitř RequestSecurityToken (RST) zprávy.

(Zděděno od WSTrustMessage)
OnBehalfOf

Získá nebo nastaví token pro identitu, za kterou se požadavek provádí.

Participants

Získá nebo nastaví účastníky, kteří mají oprávnění používat vystavený token.

ProofEncryption

Získá nebo nastaví token, který se má použít k šifrování tokenu kontroly.

Properties

Získá tašku vlastností pro rozšíření objektu.

(Zděděno od OpenObject)
Renewing

Získá nebo nastaví sémantiku obnovení pro WS-Trust žádost o prodloužení.

RenewTarget

Získá nebo nastaví token, který se má obnovit v žádosti o obnovení WS-Trust.

ReplyTo

Získá nebo nastaví adresu, která se má použít k odpovídání předávající straně.

(Zděděno od WSTrustMessage)
RequestType

Získá nebo nastaví wst:RequestType element.

(Zděděno od WSTrustMessage)
SecondaryParameters

Získá nebo nastaví parametry, pro které žadatel není původcem.

SignatureAlgorithm

Získá nebo nastaví obsah wst:SignatureAlgorithm elementu.

(Zděděno od WSTrustMessage)
SignWith

Získá nebo nastaví obsah wst:SignWith elementu.

(Zděděno od WSTrustMessage)
TokenType

Získá nebo nastaví obsah wst:TokenType elementu.

(Zděděno od WSTrustMessage)
UseKey

Získá nebo nastaví obsah wst:UseKey elementu.

(Zděděno od WSTrustMessage)
ValidateTarget

Získá nebo nastaví token, který se má ověřit v požadavku WS-Trust ověření.

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také