When ServiceStack authentication fails, do not redirect?

Solution 1:

By default ServiceStack's AuthFeature will only try to redirect you to the default ~/login path for HTML Content-Type requests. You can override this by setting the redirect path in the AuthFeature to null:

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

This will fall back to the standard 401 UnAuthorized Response that the other Content-Types get.

After globally setting the HtmlRedirect to null, you can add it back on an adhoc basis, e.g:

[Authenticate(HtmlRedirect="~/path/to/redirect/to")]

Solution 2:

If the following doesn't work:

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

Try setting the OverrideHtmlRedirect = false to the provider. This works for the NetCoreIdentityAuthProvider- especially for JWT bearer authentication

Plugins.Add(
  new AuthFeature(..., 
  new CustomAuthProvider(AppSettings) { OverrideHtmlRedirect = false }
) { HtmlRedirect = null });

If all else fails, check the Github code to see if there's an html redirect being forced