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