//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ namespace System.IdentityModel.Tokens { using System.IdentityModel.Claims; using System.IdentityModel.Policy; using SysClaim = System.IdentityModel.Claims.Claim; /// /// This class serves as a dummy AuthorizationPolicy on an issued token so that when /// WCF renews a token it can match the identity of the issuer with the renewer. This is /// required as in the IDFX layer we throw the WCF generated AuthorizationPolicy ( UnconditionalPolicy ) /// internal class SctAuthorizationPolicy : IAuthorizationPolicy { ClaimSet _issuer; string _id = UniqueId.CreateUniqueId(); internal SctAuthorizationPolicy( SysClaim claim ) { _issuer = new DefaultClaimSet( claim ); } #region IAuthorizationPolicy Members bool IAuthorizationPolicy.Evaluate( EvaluationContext evaluationContext, ref object state ) { if ( evaluationContext == null ) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull( "evaluationContext" ); } evaluationContext.AddClaimSet( this, _issuer ); return true; } ClaimSet IAuthorizationPolicy.Issuer { get { return _issuer; } } #endregion #region IAuthorizationComponent Members string IAuthorizationComponent.Id { get { return _id; } } #endregion } }