< Summary

Information
Class: Chronicis.Client.Extensions.AuthenticationServiceExtensions
Assembly: Chronicis.Client
File(s): /home/runner/work/chronicis/chronicis/src/Chronicis.Client/Extensions/AuthenticationServiceExtensions.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 17
Coverable lines: 17
Total lines: 36
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 Crap Score Cyclomatic complexity Line coverage
AddChronicisAuthentication(...)100%210%

File(s)

/home/runner/work/chronicis/chronicis/src/Chronicis.Client/Extensions/AuthenticationServiceExtensions.cs

#LineLine coverage
 1namespace Chronicis.Client.Extensions;
 2
 3/// <summary>
 4/// Extension methods for configuring authentication services.
 5/// </summary>
 6public static class AuthenticationServiceExtensions
 7{
 8    /// <summary>
 9    /// Adds Auth0 OIDC authentication configuration for Chronicis.
 10    /// </summary>
 11    /// <param name="services">The service collection.</param>
 12    /// <param name="baseUrl">The base URL of the application for redirect URIs.</param>
 13    public static IServiceCollection AddChronicisAuthentication(
 14        this IServiceCollection services,
 15        string baseUrl)
 16    {
 017        services.AddOidcAuthentication(options =>
 018        {
 019            options.ProviderOptions.Authority = "https://auth.chronicis.app";
 020            options.ProviderOptions.ClientId = "Itq22vH9FBHKlYHL1j0A9EgVjA9f6NZQ";
 021            options.ProviderOptions.ResponseType = "code";
 022            options.ProviderOptions.RedirectUri = $"{baseUrl}/authentication/login-callback";
 023            options.ProviderOptions.PostLogoutRedirectUri = baseUrl;
 024
 025            // Auth0 requires the audience parameter to issue a proper JWT access token
 026            options.ProviderOptions.AdditionalProviderParameters.Add("audience", "https://api.chronicis.app");
 027
 028            options.ProviderOptions.DefaultScopes.Clear();
 029            options.ProviderOptions.DefaultScopes.Add("openid");
 030            options.ProviderOptions.DefaultScopes.Add("profile");
 031            options.ProviderOptions.DefaultScopes.Add("email");
 032        });
 33
 034        return services;
 35    }
 36}