e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
80 lines
2.7 KiB
C#
80 lines
2.7 KiB
C#
//-----------------------------------------------------------------------
|
|
// <copyright file="Lifetime.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
//-----------------------------------------------------------------------
|
|
|
|
namespace System.IdentityModel.Protocols.WSTrust
|
|
{
|
|
using System;
|
|
using System.Diagnostics;
|
|
|
|
/// <summary>
|
|
/// Used in the RequestSecurityToken or RequestSecurityTokenResponse to indicated the desired or
|
|
/// required lifetime of a token. Everything here is stored in Utc format.
|
|
/// </summary>
|
|
public class Lifetime
|
|
{
|
|
DateTime? _created;
|
|
DateTime? _expires;
|
|
|
|
/// <summary>
|
|
/// Instantiates a LifeTime object with token creation and expiration time in Utc.
|
|
/// </summary>
|
|
/// <param name="created">Token creation time in Utc.</param>
|
|
/// <param name="expires">Token expiration time in Utc.</param>
|
|
/// <exception cref="ArgumentException">When the given expiration time is
|
|
/// before the given creation time.</exception>
|
|
public Lifetime( DateTime created, DateTime expires )
|
|
: this( (DateTime?)created, (DateTime?)expires )
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// Instantiates a LifeTime object with token creation and expiration time in Utc.
|
|
/// </summary>
|
|
/// <param name="created">Token creation time in Utc.</param>
|
|
/// <param name="expires">Token expiration time in Utc.</param>
|
|
/// <exception cref="ArgumentException">When the given expiration time is
|
|
/// before the given creation time.</exception>
|
|
public Lifetime( DateTime? created, DateTime? expires )
|
|
{
|
|
if ( created != null && expires != null && expires.Value <= created.Value )
|
|
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( new ArgumentException( SR.GetString( SR.ID2000 ) ) );
|
|
|
|
_created = DateTimeUtil.ToUniversalTime( created );
|
|
_expires = DateTimeUtil.ToUniversalTime( expires );
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the token creation time in UTC time.
|
|
/// </summary>
|
|
public DateTime? Created
|
|
{
|
|
get
|
|
{
|
|
return _created;
|
|
}
|
|
set
|
|
{
|
|
_created = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the token expiration time in UTC time.
|
|
/// </summary>
|
|
public DateTime? Expires
|
|
{
|
|
get
|
|
{
|
|
return _expires;
|
|
}
|
|
set
|
|
{
|
|
_expires = value;
|
|
}
|
|
}
|
|
}
|
|
}
|