SeanH
SeanH

Reputation: 584

Prevent 401 change to 302 with servicestack

I'm rather new to servicestack. I seem to be having trouble with 401 statues being rewritten to 302. I was looking at this answer:

When ServiceStack authentication fails, do not redirect?

I see the suggested solution is to add the following:

Plugins.Add(new AuthFeature(...) { HtmlRedirect = null });

My question is, where precisely do I add this to get it to work? I've started to build something up based on examples on github:

public class AppHost : AppHostBase
{
    public AppHost() : base("Custom Authentication Example", typeof(AppHost).Assembly) { }

    public override void Configure(Container container)
    {
        // register storage for user sessions 
        container.Register<ICacheClient>(new MemoryCacheClient());

        // add routes
        Routes.Add<HelloRequest>("/hello"); 

        // Register AuthFeature with custom user session and custom auth provider
        Plugins.Add(new AuthFeature(
            () => new CustomUserSession(),
            new[] { new CustomCredentialsAuthProvider() }
        ));

        // Enable the metadata page
        SetConfig(new EndpointHostConfig {
            EnableFeatures = Feature.All.Add(Feature.Metadata)
        });
    }
}

Thanks much

Upvotes: 4

Views: 359

Answers (1)

Eric W.
Eric W.

Reputation: 8022

You're pretty much there.

public override void Configure(Container container)
{
     Plugins.Add(new AuthFeature(() => new AuthUserSession(), new IAuthProvider[] { new BasicAuthProvider() }) { HtmlRedirect = null });

//... more config stuff...

}

Upvotes: 3

Related Questions