keycloak-scim/securing_apps/topics/saml/java/error_handling.adoc

42 lines
1.2 KiB
Text
Raw Normal View History

2016-06-02 16:07:45 +00:00
==== Error Handling
2016-06-02 21:33:28 +00:00
{{book.project.name}} has some error handling facilities for servlet based client adapters.
When an error is encountered in authentication, the client adapter will call `HttpServletResponse.sendError()`.
You can set up an `error-page` within your `web.xml` file to handle the error however you want.
The client adapter may throw 400, 401, 403, and 500 errors.
2016-06-02 16:07:45 +00:00
[source,xml]
----
<error-page>
<error-code>404</error-code>
<location>/ErrorHandler</location>
</error-page>
----
2016-06-02 21:33:28 +00:00
The client adapter also sets an `HttpServletRequest` attribute that you can retrieve.
2016-06-02 16:07:45 +00:00
The attribute name is `org.keycloak.adapters.spi.AuthenticationError`.
Typecast this object to: `org.keycloak.adapters.saml.SamlAuthenticationError`.
This class can tell you exactly what happened.
If this attribute is not set, then the adapter was not responsible for the error code.
[source,xml]
----
public class SamlAuthenticationError implements AuthenticationError {
public static enum Reason {
EXTRACTION_FAILURE,
INVALID_SIGNATURE,
ERROR_STATUS
}
public Reason getReason() {
return reason;
}
public StatusResponseType getStatus() {
return status;
}
}
----