e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
100 lines
3.5 KiB
C#
100 lines
3.5 KiB
C#
//-----------------------------------------------------------------------
|
|
// <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; }
|
|
}
|
|
}
|
|
}
|