Skip to content
This repository was archived by the owner on Mar 14, 2025. It is now read-only.
This repository was archived by the owner on Mar 14, 2025. It is now read-only.

Authentication scheme #6

@grosch

Description

@grosch

Trying to get started with your library and I hit the below issue.

System.InvalidOperationException: No authenticationScheme was specified, and there was no DefaultChallengeScheme found. The default schemes can be set using either AddAuthentication(string defaultScheme) or AddAuthentication(Action configureOptions).
at Microsoft.AspNetCore.Authentication.AuthenticationService.ChallengeAsync(HttpContext context, String scheme, AuthenticationProperties properties)
at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

I've got this as my test

[UserFact("MySecretId")]
public async Task GetLabManagerEmailsAsync_SendsPlainText()
{
    var request = "/api/report/emails";

    var response = await Client.GetAsync(request);

    response.EnsureSuccessStatusCode();
    Assert.Equal("text/foo", response.Content.Headers.ContentType.MediaType);
}

and the Client is setup like so:

protected TestFixture(string relativeTargetProjectParentDir)
{
    var startupAssembly = typeof(TStartup).GetTypeInfo().Assembly;
    var contentRoot = GetProjectPath(relativeTargetProjectParentDir, startupAssembly);

    var configurationBuilder = new ConfigurationBuilder()
        .SetBasePath(contentRoot)
        .AddJsonFile("appsettings.json");

    var webHostBuilder = new WebHostBuilder()
        .UseContentRoot(contentRoot)
        .ConfigureServices(InitializeServices)
        .UseConfiguration(configurationBuilder.Build())
        .UseEnvironment("Development")
        .UseStartup(typeof(TStartup));

    // Create instance of test server
    Server = new TestServer(webHostBuilder);

    // Add configuration for client
    Client = Server.CreateClient();
    Client.DefaultRequestHeaders.Accept.Clear();
    Client.DefaultRequestHeaders.Accept.Add(new("application/json"));
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions