< Summary - CoreWCF Coverage — PR #1766

Information
Class: CoreWCF.Security.SecurityTokenAuthenticatorAdapter
Assembly: CoreWCF.Primitives
File(s): /home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/Security/SecurityTokenAuthenticatorAdapter.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 21
Coverable lines: 21
Total lines: 67
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 10
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
.ctor(...)0%440%
CanValidateTokenCore(...)0%440%
ValidateTokenCoreAsync(...)0%220%

File(s)

/home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/Security/SecurityTokenAuthenticatorAdapter.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.Collections.Generic;
 5using System.Collections.ObjectModel;
 6using CoreWCF.IdentityModel.Policy;
 7using CoreWCF.IdentityModel.Selectors;
 8using CoreWCF.IdentityModel.Tokens;
 9using System.Security.Claims;
 10using System;
 11using System.Threading.Tasks;
 12
 13namespace CoreWCF.Security
 14{
 15    internal class SecurityTokenAuthenticatorAdapter : SecurityTokenAuthenticator
 16    {
 17        private SecurityTokenHandler _securityTokenHandler;
 18        private ExceptionMapper _exceptionMapper;
 19
 020        public SecurityTokenAuthenticatorAdapter(SecurityTokenHandler securityTokenHandler, ExceptionMapper exceptionMap
 21        {
 022            if (securityTokenHandler == null)
 23            {
 024                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(securityTokenHandler));
 25            }
 26
 027            if (exceptionMapper == null)
 28            {
 029                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(exceptionMapper));
 30            }
 31
 032            _securityTokenHandler = securityTokenHandler;
 033            _exceptionMapper = exceptionMapper;
 034        }
 35
 36        protected override bool CanValidateTokenCore(SecurityToken token)
 37        {
 038            if (token == null)
 39            {
 040                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(token));
 41            }
 42
 043            return ((token.GetType() == _securityTokenHandler.TokenType) && (_securityTokenHandler.CanValidateToken));
 44        }
 45
 46        protected override ValueTask<ReadOnlyCollection<IAuthorizationPolicy>> ValidateTokenCoreAsync(SecurityToken toke
 47        {
 048            IEnumerable<ClaimsIdentity> subjectCollection = null;
 49
 50            try
 51            {
 052                subjectCollection = _securityTokenHandler.ValidateToken(token);
 053            }
 054            catch (Exception ex)
 55            {
 056                if (!_exceptionMapper.HandleSecurityTokenProcessingException(ex))
 57                {
 058                    throw;
 59                }
 060            }
 61
 062            List<IAuthorizationPolicy> policies = new List<IAuthorizationPolicy>(1);
 063            policies.Add(new AuthorizationPolicy(subjectCollection));
 064            return new ValueTask<ReadOnlyCollection<IAuthorizationPolicy>>(policies.AsReadOnly());
 65        }
 66    }
 67}