e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
72 lines
2.7 KiB
C#
72 lines
2.7 KiB
C#
//-----------------------------------------------------------------------
|
|
// <copyright file="WrappedSaml2AssertionKeyIdentifierClause.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
//-----------------------------------------------------------------------
|
|
|
|
namespace System.IdentityModel.Tokens
|
|
{
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
/// <summary>
|
|
/// This class wraps a Saml2AssertionKeyIdentifierClause and delegates to the wrapped clause.
|
|
/// It derives off the SamlAssertionKeyIdentifierClause to get around a specific bug in WCF
|
|
/// where the WCF runtime will call the Saml2SecurityToken to create a SamlAssertionKeyIdentifierClause.
|
|
/// </summary>
|
|
internal class WrappedSaml2AssertionKeyIdentifierClause : SamlAssertionKeyIdentifierClause
|
|
{
|
|
private Saml2AssertionKeyIdentifierClause clause;
|
|
|
|
/// <summary>
|
|
/// Creates an instance of <see cref="WrappedSaml2AssertionKeyIdentifierClause"/>
|
|
/// </summary>
|
|
/// <param name="clause">A <see cref="Saml2AssertionKeyIdentifierClause"/> to be wrapped.</param>
|
|
public WrappedSaml2AssertionKeyIdentifierClause(Saml2AssertionKeyIdentifierClause clause)
|
|
: base(clause.Id)
|
|
{
|
|
this.clause = clause;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets a boolean that states if the clause can create a Key.
|
|
/// This returns false by default.
|
|
/// </summary>
|
|
public override bool CanCreateKey
|
|
{
|
|
get
|
|
{
|
|
return this.clause.CanCreateKey;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the wrapped <see cref="Saml2AssertionKeyIdentifierClause" />.
|
|
/// </summary>
|
|
public Saml2AssertionKeyIdentifierClause WrappedClause
|
|
{
|
|
get { return this.clause; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Creates a key from this clause type.
|
|
/// </summary>
|
|
/// <returns>A <see cref="SecurityKey"/></returns>
|
|
public override SecurityKey CreateKey()
|
|
{
|
|
return this.clause.CreateKey();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns a value that indicates whether the key identifier for this instance
|
|
/// is equivalent to the specified key identifier clause.
|
|
/// </summary>
|
|
/// <param name="keyIdentifierClause">A <see cref="SecurityKeyIdentifierClause"/> to compare to.</param>
|
|
/// <returns>'True' if keyIdentifierClause matches this. 'False' otherwise.</returns>
|
|
public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause)
|
|
{
|
|
return this.clause.Matches(keyIdentifierClause);
|
|
}
|
|
}
|
|
}
|