You've already forked linux-packaging-mono
							
							
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| //-----------------------------------------------------------------------
 | |
| // <copyright file="Saml2Subject.cs" company="Microsoft">
 | |
| //     Copyright (c) Microsoft Corporation.  All rights reserved.
 | |
| // </copyright>
 | |
| //-----------------------------------------------------------------------
 | |
| 
 | |
| namespace System.IdentityModel.Tokens
 | |
| {
 | |
|     using System;
 | |
|     using System.Collections.ObjectModel;
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Represents the Subject element specified in [Saml2Core, 2.4.1].
 | |
|     /// </summary>
 | |
|     /// <remarks>
 | |
|     /// If the NameId is null and the SubjectConfirmations collection is empty,
 | |
|     /// an InvalidOperationException will be thrown during serialization.
 | |
|     /// </remarks>
 | |
|     public class Saml2Subject
 | |
|     {
 | |
|         private Saml2NameIdentifier nameId;
 | |
|         private Collection<Saml2SubjectConfirmation> subjectConfirmations = new Collection<Saml2SubjectConfirmation>();
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Initialize an instance of <see cref="Saml2Subject"/>.
 | |
|         /// </summary>
 | |
|         public Saml2Subject()
 | |
|         {
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Initializes an instance of <see cref="Saml2Subject"/> from a <see cref="Saml2NameIdentifier"/>.
 | |
|         /// </summary>
 | |
|         /// <param name="nameId">The <see cref="Saml2NameIdentifier"/> to use for initialization.</param>
 | |
|         public Saml2Subject(Saml2NameIdentifier nameId)
 | |
|         {
 | |
|             this.nameId = nameId;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Initializes an instance of <see cref="Saml2Subject"/> from a <see cref="Saml2SubjectConfirmation"/>.
 | |
|         /// </summary>
 | |
|         /// <param name="subjectConfirmation">The <see cref="Saml2SubjectConfirmation"/> to use for initialization.</param>
 | |
|         public Saml2Subject(Saml2SubjectConfirmation subjectConfirmation)
 | |
|         {
 | |
|             if (null == subjectConfirmation)
 | |
|             {
 | |
|                 throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("subjectConfirmation");
 | |
|             }
 | |
| 
 | |
|             this.subjectConfirmations.Add(subjectConfirmation);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets or sets the <see cref="Saml2NameIdentifier"/>. [Saml2Core, 2.4.1]
 | |
|         /// </summary>
 | |
|         public Saml2NameIdentifier NameId
 | |
|         {
 | |
|             get { return this.nameId; }
 | |
|             set { this.nameId = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets a collection of <see cref="Saml2SubjectConfirmation"/> which can be used to validate and confirm the <see cref="Saml2Subject"/>. [Saml2Core, 2.4.1]
 | |
|         /// </summary>
 | |
|         /// <remarks>
 | |
|         /// If more than one subject confirmation is provied, then satisfying any one of 
 | |
|         /// them is sufficient to confirm the subject for the purpose of applying the 
 | |
|         /// assertion.
 | |
|         /// </remarks>
 | |
|         public Collection<Saml2SubjectConfirmation> SubjectConfirmations
 | |
|         {
 | |
|             get { return this.subjectConfirmations; }
 | |
|         }
 | |
|     }
 | |
| }
 |