< Summary - CoreWCF Coverage — PR #1766

Information
Class: CoreWCF.IdentityModel.Selectors.RsaSecurityTokenAuthenticator
Assembly: CoreWCF.Primitives
File(s): /home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/IdentityModel/Selectors/RsaSecurityTokenAuthenticator.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 15
Coverable lines: 15
Total lines: 42
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
.ctor()100%110%
CanValidateTokenCore(...)100%110%
ValidateTokenCoreAsync(...)100%110%

File(s)

/home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/IdentityModel/Selectors/RsaSecurityTokenAuthenticator.cs

#LineLine coverage
 1// Licensed to the .NET Foundation under one or more agreements.
 2// The .NET Foundation licenses this file to you under the MIT license.
 3
 4using System;
 5using System.Collections.Generic;
 6using System.Collections.ObjectModel;
 7using System.Threading.Tasks;
 8using CoreWCF.IdentityModel.Claims;
 9using CoreWCF.IdentityModel.Policy;
 10using CoreWCF.IdentityModel.Tokens;
 11
 12namespace CoreWCF.IdentityModel.Selectors
 13{
 14    internal class RsaSecurityTokenAuthenticator : SecurityTokenAuthenticator
 15    {
 016        public RsaSecurityTokenAuthenticator()
 17        {
 018        }
 19
 20        protected override bool CanValidateTokenCore(SecurityToken token)
 21        {
 022            return token is RsaSecurityToken;
 23        }
 24
 25        protected override ValueTask<ReadOnlyCollection<IAuthorizationPolicy>> ValidateTokenCoreAsync(SecurityToken toke
 26        {
 027            RsaSecurityToken rsaToken = (RsaSecurityToken)token;
 028            List<Claim> claims = new List<Claim>(2)
 029            {
 030                new Claim(ClaimTypes.Rsa, rsaToken.Rsa, Rights.Identity),
 031                Claim.CreateRsaClaim(rsaToken.Rsa)
 032            };
 33
 034            DefaultClaimSet claimSet = new DefaultClaimSet(ClaimSet.Anonymous, claims);
 035            List<IAuthorizationPolicy> policies = new List<IAuthorizationPolicy>(1)
 036            {
 037                new UnconditionalPolicy(claimSet, rsaToken.ValidTo)
 038            };
 039            return new ValueTask<ReadOnlyCollection<IAuthorizationPolicy>>(policies.AsReadOnly());
 40        }
 41    }
 42}