[keycloak-dev] Adapters

Stian Thorgersen stian at redhat.com
Mon Sep 15 10:38:44 EDT 2014


I think it would make sense to provide a plain Java adapter, as well as a plain Servlet adapter. Further this should be the base for all other adapters.

  +--------+ +---------+  +-----------+     +---------+
  | Tomcat | |JBoss AS |  |PicketLink |     | WildFly |
  | Jetty  | |JBoss EAP|  |           |     |         |
  | ...    | |         |  |           |     |         |
  +----+---+ +---+-----+  +---+-------+     +----+----+
       |         |            |                  |
       |     +---v-----+      |             +----v----+
       +----->Servlet  <------+             | Undertow|
             |         |                    |         |
             +----+----+                    +----+----+
                  |       +---------+            |
                  +------->Java     <------------+
                          |         |
                          +---------+

The Java adapter should have minimum dependencies (maybe only http-client?).

Don't get to hung-up with the syntax (I knocked this together in 2 min), but the general idea would be something like:

        InputStream is = new FileInputStream("keycloak.json");

        KeycloakOAuthClient client = KeycloakClient.createOAuth(is);

        // get login url
        URL loginUrl = client.createLoginUrl(redirectUri);

        // exchange code to token
        AccessTokenResponse response = client.getToken(code, clientCredentials);

        // refresh token
        client.refreshToken(response.getToken());

We have most of the code, but what we don't is a public Java API.


More information about the keycloak-dev mailing list