Share via


SecurityToken.ValidFrom Propriedade

Definição

Obtém o primeiro momento em que esse token de segurança é válido.

public:
 abstract property DateTime ValidFrom { DateTime get(); };
public abstract DateTime ValidFrom { get; }
member this.ValidFrom : DateTime
Public MustOverride ReadOnly Property ValidFrom As DateTime

Valor da propriedade

Um DateTime que representa o momento em que esse token de segurança ficou válido pela primeira vez.

Exemplos

Os exemplos de código usados nos SecurityToken tópicos são obtidos do Custom Token exemplo. Este exemplo fornece classes personalizadas que permitem o processamento de SWT (Tokens Web Simples). Ele inclui uma implementação de uma SimpleWebToken classe e uma SimpleWebTokenHandler classe, bem como outras classes que dão suporte a tokens SWT. Para obter informações sobre este exemplo e outros exemplos disponíveis para WIF e sobre onde baixá-los, consulte Índice de exemplo de código WIF. O código a seguir mostra a substituição da ValidFrom propriedade .

/// <summary>
/// Defines the set of constants for the Simple Web Token.
/// </summary>
public static class SimpleWebTokenConstants
{
    public const string Audience = "Audience";
    public const string ExpiresOn = "ExpiresOn";
    public const string Id = "Id";
    public const string Issuer = "Issuer";
    public const string Signature = "HMACSHA256";
    public const string ValidFrom = "ValidFrom";
    public const string ValueTypeUri = "http://schemas.xmlsoap.org/ws/2009/11/swt-token-profile-1.0";     
}
public static DateTime SwtBaseTime = new DateTime( 1970, 1, 1, 0, 0, 0, 0 ); // per SWT psec

NameValueCollection _properties;
/// <summary>
/// Gets the time from when the token is valid.
/// </summary>
/// <value>The time from when the token is valid.</value>
public override DateTime ValidFrom
{
    get 
    {
        string validFrom = _properties[SimpleWebTokenConstants.ValidFrom];
        return GetTimeAsDateTime( String.IsNullOrEmpty( validFrom ) ? "0" : validFrom );
    }
}
/// <summary>
/// Converts the time in seconds to a <see cref="DateTime"/> object based on the base time 
/// defined by the Simple Web Token.
/// </summary>
/// <param name="expiryTime">The time in seconds.</param>
/// <returns>The time as a <see cref="DateTime"/> object.</returns>
protected virtual DateTime GetTimeAsDateTime( string expiryTime )
{
    long totalSeconds = 0;
    if ( !long.TryParse( expiryTime, out totalSeconds ) )
    {
        throw new SecurityTokenException("Invalid expiry time. Expected the time to be in seconds passed from 1 January 1970.");
    }

    long maxSeconds = (long)( DateTime.MaxValue - SwtBaseTime ).TotalSeconds - 1;
    if ( totalSeconds > maxSeconds )
    {
        totalSeconds = maxSeconds;
    }

    return SwtBaseTime.AddSeconds( totalSeconds );
}

Comentários

Use as ValidFrom propriedades e ValidTo para determinar o período em que um SecurityToken token é válido. As ValidFrom propriedades e ValidTo representam os primeiros e últimos instantes no tempo em que o token de segurança é válido, respectivamente.

Notas aos Implementadores

Você deve substituir a ValidFrom propriedade .

Aplica-se a