Imported Upstream version 4.0.0~alpha1

Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
This commit is contained in:
Jo Shields
2015-04-07 09:35:12 +01:00
parent 283343f570
commit 3c1f479b9d
22469 changed files with 2931443 additions and 869343 deletions

View File

@@ -0,0 +1,58 @@
//------------------------------------------------------------------------------
// 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;
/// <summary>
/// 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 )
/// </summary>
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
}
}