1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
|
//-----------------------------------------------------------------------
// <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; }
}
}
}
|