e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
108 lines
3.5 KiB
C#
108 lines
3.5 KiB
C#
//-----------------------------------------------------------------------
|
|
// <copyright file="Saml2SubjectConfirmationData.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
//-----------------------------------------------------------------------
|
|
|
|
namespace System.IdentityModel.Tokens
|
|
{
|
|
using System;
|
|
using System.Collections.ObjectModel;
|
|
|
|
/// <summary>
|
|
/// Represents the SubjectConfirmationData element and the associated
|
|
/// KeyInfoConfirmationDataType defined in [Saml2Core, 2.4.1.2-2.4.1.3].
|
|
/// </summary>
|
|
public class Saml2SubjectConfirmationData
|
|
{
|
|
private string address;
|
|
private Saml2Id inResponseTo;
|
|
private Collection<SecurityKeyIdentifier> keyIdentifiers = new Collection<SecurityKeyIdentifier>();
|
|
private DateTime? notBefore;
|
|
private DateTime? notOnOrAfter;
|
|
private Uri recipient;
|
|
|
|
/// <summary>
|
|
/// Initializes an instance of <see cref="Saml2SubjectConfirmationData"/>.
|
|
/// </summary>
|
|
public Saml2SubjectConfirmationData()
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets or sets the network address/location from which an attesting entity can present the
|
|
/// assertion. [Saml2Core, 2.4.1.2]
|
|
/// </summary>
|
|
public string Address
|
|
{
|
|
get
|
|
{
|
|
return this.address;
|
|
}
|
|
|
|
set
|
|
{
|
|
this.address = XmlUtil.NormalizeEmptyString(value);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets or sets the <see cref="Saml2Id"/> of a SAML protocol message in response to which an attesting entity can
|
|
/// present the assertion. [Saml2Core, 2.4.1.2]
|
|
/// </summary>
|
|
public Saml2Id InResponseTo
|
|
{
|
|
get { return this.inResponseTo; }
|
|
set { this.inResponseTo = value; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets a collection of <see cref="SecurityKeyIdentifier"/> which can be used to authenticate an attesting entity. [Saml2Core, 2.4.1.3]
|
|
/// </summary>
|
|
public Collection<SecurityKeyIdentifier> KeyIdentifiers
|
|
{
|
|
get { return this.keyIdentifiers; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets or sets a time instant before which the subject cannot be confirmed. [Saml2Core, 2.4.1.2]
|
|
/// </summary>
|
|
public DateTime? NotBefore
|
|
{
|
|
get { return this.notBefore; }
|
|
set { this.notBefore = DateTimeUtil.ToUniversalTime(value); }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets or sets a time instant at which the subject can no longer be confirmed. [Saml2Core, 2.4.1.2]
|
|
/// </summary>
|
|
public DateTime? NotOnOrAfter
|
|
{
|
|
get { return this.notOnOrAfter; }
|
|
set { this.notOnOrAfter = DateTimeUtil.ToUniversalTime(value); }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets or sets a URI specifying the entity or location to which an attesting entity can present
|
|
/// the assertion. [Saml2Core, 2.4.1.2]
|
|
/// </summary>
|
|
public Uri Recipient
|
|
{
|
|
get
|
|
{
|
|
return this.recipient;
|
|
}
|
|
|
|
set
|
|
{
|
|
if (null != value && !value.IsAbsoluteUri)
|
|
{
|
|
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("value", SR.GetString(SR.ID0013));
|
|
}
|
|
|
|
this.recipient = value;
|
|
}
|
|
}
|
|
}
|
|
}
|