keycloak-aplcache

Details

diff --git a/examples/demo-template/database-service/src/main/java/org/keycloak/example/oauth/CustomerService.java b/examples/demo-template/database-service/src/main/java/org/keycloak/example/oauth/CustomerService.java
index 8f5f5b1..e0e9c8c 100755
--- a/examples/demo-template/database-service/src/main/java/org/keycloak/example/oauth/CustomerService.java
+++ b/examples/demo-template/database-service/src/main/java/org/keycloak/example/oauth/CustomerService.java
@@ -1,10 +1,15 @@
 package org.keycloak.example.oauth;
 
 import org.jboss.resteasy.annotations.cache.NoCache;
+import org.jboss.resteasy.spi.HttpRequest;
+import org.keycloak.KeycloakSecurityContext;
+import org.keycloak.representations.AccessToken;
 
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -14,10 +19,19 @@ import java.util.List;
  */
 @Path("customers")
 public class CustomerService {
+
+    @Context
+    private HttpRequest httpRequest;
+
     @GET
     @Produces("application/json")
     @NoCache
     public List<String> getCustomers() {
+        // Just to show how to user info from access token in REST endpoint
+        KeycloakSecurityContext securityContext = (KeycloakSecurityContext) httpRequest.getAttribute(KeycloakSecurityContext.class.getName());
+        AccessToken accessToken = securityContext.getToken();
+        System.out.println(String.format("User '%s' with email '%s' made request to CustomerService REST endpoint", accessToken.getPreferredUsername(), accessToken.getEmail()));
+
         ArrayList<String> rtn = new ArrayList<String>();
         rtn.add("Bill Burke");
         rtn.add("Stian Thorgersen");