|
//-----------------------------------------------------------------------
// <copyright file="Saml2Evidence.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
namespace System.IdentityModel.Tokens
{
using System;
using System.Collections.ObjectModel;
/// <summary>
/// Represents the Evidence element specified in [Saml2Core, 2.7.4.3].
/// </summary>
/// <remarks>
/// Contains one or more assertions or assertion references that the SAML
/// authority relied on in issuing the authorization decision.
/// [Saml2Core, 2.7.4.3]
/// </remarks>
public class Saml2Evidence
{
private Collection<Saml2Id> assertionIdReferences = new Collection<Saml2Id>();
private Collection<Saml2Assertion> assertions = new Collection<Saml2Assertion>();
private AbsoluteUriCollection assertionUriReferences = new AbsoluteUriCollection();
/// <summary>
/// Initializes a new instance of <see cref="Saml2Evidence"/> class.
/// </summary>
public Saml2Evidence()
{
}
/// <summary>
/// Initializes a new instance of <see cref="Saml2Evidence"/> class from a <see cref="Saml2Assertion"/>.
/// </summary>
/// <param name="assertion"><see cref="Saml2Assertion"/> containing the evidence.</param>
public Saml2Evidence(Saml2Assertion assertion)
{
if (null == assertion)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("assertion");
}
this.assertions.Add(assertion);
}
/// <summary>
/// Initializes a new instance of <see cref="Saml2Evidence"/> class from a <see cref="Saml2Id"/>.
/// </summary>
/// <param name="idReference"><see cref="Saml2Id"/> containing the evidence.</param>
public Saml2Evidence(Saml2Id idReference)
{
if (null == idReference)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("idReference");
}
this.assertionIdReferences.Add(idReference);
}
/// <summary>
/// Initializes a new instance of <see cref="Saml2Evidence"/> class from a <see cref="Uri"/>.
/// </summary>
/// <param name="uriReference"><see cref="Uri"/> containing the evidence.</param>
public Saml2Evidence(Uri uriReference)
{
if (null == uriReference)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("uriReference");
}
this.assertionUriReferences.Add(uriReference);
}
/// <summary>
/// Gets a collection of <see cref="Saml2Id"/> for use by the <see cref="Saml2Evidence"/>.
/// </summary>
public Collection<Saml2Id> AssertionIdReferences
{
get { return this.assertionIdReferences; }
}
/// <summary>
/// Gets a collection of <see cref="Saml2Assertion"/> for use by the <see cref="Saml2Evidence"/>.
/// </summary>
public Collection<Saml2Assertion> Assertions
{
get { return this.assertions; }
}
/// <summary>
/// Gets a collection of <see cref="Uri"/> for use by the <see cref="Saml2Evidence"/>.
/// </summary>
public Collection<Uri> AssertionUriReferences
{
get { return this.assertionUriReferences; }
}
}
}
|