< Summary

Information
Class: Elsa.Extensions.ConfigureJwtBearerOptions
Assembly: Elsa.Identity
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Identity/OptionConfigurators/ConfigureJwtBearerOptions.cs
Line coverage
92%
Covered lines: 13
Uncovered lines: 1
Coverable lines: 14
Total lines: 42
Line coverage: 92.8%
Branch coverage
100%
Covered branches: 6
Total branches: 6
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
Configure(...)100%210%
Configure(...)100%66100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Identity/OptionConfigurators/ConfigureJwtBearerOptions.cs

#LineLine coverage
 1using Elsa.Identity.Constants;
 2using Elsa.Identity.Options;
 3using Microsoft.AspNetCore.Authentication.JwtBearer;
 4using Microsoft.Extensions.Options;
 5
 6// ReSharper disable once CheckNamespace
 7namespace Elsa.Extensions;
 8
 9/// <summary>
 10/// Configures the <see cref="JwtBearerOptions"/>
 11/// </summary>
 12public class ConfigureJwtBearerOptions : IConfigureNamedOptions<JwtBearerOptions>
 13{
 14    private readonly IOptions<IdentityTokenOptions> _identityTokenOptions;
 15
 16    /// <summary>
 17    /// Initializes a new instance of <see cref="ConfigureJwtBearerOptions"/>.
 18    /// </summary>
 319    public ConfigureJwtBearerOptions(IOptions<IdentityTokenOptions> identityTokenOptions)
 20    {
 321        _identityTokenOptions = identityTokenOptions;
 322    }
 23
 24    /// <inheritdoc />
 025    public void Configure(JwtBearerOptions options) => Configure(null, options);
 26
 27    /// <inheritdoc />
 28    public void Configure(string? name, JwtBearerOptions options)
 29    {
 330        var requiredTokenUse = name switch
 331        {
 132            IdentityAuthenticationSchemes.AccessToken => TokenUse.Access,
 133            IdentityAuthenticationSchemes.RefreshToken => TokenUse.Refresh,
 134            _ => null
 335        };
 36
 337        if (requiredTokenUse == null)
 138            return;
 39
 240        _identityTokenOptions.Value.ConfigureJwtBearerOptions(options, requiredTokenUse);
 241    }
 42}