[keycloak-dev] Handle case when KC fails to send logout message to some application - KEYCLOAK 782

Michał Choiński kontakt at michalchoinski.pl
Thu Apr 16 05:34:52 EDT 2015


Hi everyone!

I'm a potential GSOC student dreaming of working on "Keycloak - 
Certificate Management" project. I spent last few days analysing the 
code, debuging and looking how it really works on the inside.
I'd like to fix a bug which I've chosen from Jira. The issue number is 
KEYCLOAK-782.

In OAuth 2.0 specification (RFC6749) I found the following parameters 
(within item 4.1.2.1.  Error Response) :

server_error
                The authorization server encountered an unexpected
                condition that prevented it from fulfilling the request.
                (This error code is needed because a 500 Internal Server
                Error HTTP status code cannot be returned to the client
                via an HTTP redirect.)

error_description
          OPTIONAL.  Human-readable ASCII [USASCII] text providing
          additional information, used to assist the client developer in
          understanding the error that occurred.
          Values for the "error_description" parameter MUST NOT include
          characters outside the set %x20-21 / %x23-5B / %x5D-7E.

So the uri after logout would look like this:
...&error=server_error&error_description=Logout+from+some+apps+failed

The error_description could be either human readable description or just 
an error code. It should be processed on client side. Keycloak.js should 
be changed to handle it.

These params should be added to OIDCLoginProtocol and of course to 
response when such an error occur.
In first loop iterating on userSessions placed in 
AuthenticationManager.browserLogout there should be saving error when 
backend logout fails. It could be done by adding a note to userSession 
and getting it in finishLogout (first, of course, checking if it exists).

What do you think about the above mentioned solution?

best regards,
Michal Choinski








More information about the keycloak-dev mailing list