cors token modifications

This commit is contained in:
Bill Burke committed 2013-10-25 18:03:28 -04:00
1 parent 158f85cb7a
commit 6e6dccd339
3 files changed
+36 -7

No files matched your search

@@ -55,7 +55,7 @@ public class SkeletonKeyToken extends JsonWebToken {
protected Set<String> trustedCertificates; protected Set<String> trustedCertificates;
@JsonProperty("allowed-origins") @JsonProperty("allowed-origins")
protected List<String> allowsOrigins; protected List<String> allowedOrigins;
@JsonProperty("realm_access") @JsonProperty("realm_access")
protected Access realmAccess; protected Access realmAccess;
@@ -143,12 +143,12 @@ public class SkeletonKeyToken extends JsonWebToken {
return (SkeletonKeyToken) super.type(type); return (SkeletonKeyToken) super.type(type);
} }
public List<String> getAllowsOrigins() { public List<String> getAllowedOrigins() {
return allowsOrigins; return allowedOrigins;
} }
public void setAllowsOrigins(List<String> allowsOrigins) { public void setAllowedOrigins(List<String> allowedOrigins) {
this.allowsOrigins = allowsOrigins; this.allowedOrigins = allowedOrigins;
} }
public Access getRealmAccess() { public Access getRealmAccess() {
@@ -11,6 +11,7 @@ import org.keycloak.representations.SkeletonKeyToken;
import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.MultivaluedMap;
import java.io.IOException; import java.io.IOException;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@@ -117,6 +118,12 @@ public class TokenManager {
if (realm.getTokenLifespan() > 0) { if (realm.getTokenLifespan() > 0) {
token.expiration((System.currentTimeMillis() / 1000) + realm.getTokenLifespan()); token.expiration((System.currentTimeMillis() / 1000) + realm.getTokenLifespan());
} }
Set<String> allowedOrigins = client.getWebOrigins();
if (allowedOrigins != null && allowedOrigins.size() > 0) {
List<String> allowed = new ArrayList<String>();
allowed.addAll(allowedOrigins);
token.setAllowedOrigins(allowed);
}
return token; return token;
} }
@@ -95,6 +95,17 @@ public class SaasService {
} }
} }
/** test code for screwing around with CORS
@Path("set-cookie")
@GET
@NoCache
@Produces("text/plain")
public Response cookie(@Context HttpHeaders headers) {
return Response.ok("cookie set", MediaType.TEXT_PLAIN_TYPE).cookie(new NewCookie("testcookie", "value")).build();
}
@Path("ping") @Path("ping")
@GET @GET
@NoCache @NoCache
@@ -102,7 +113,11 @@ public class SaasService {
public String ping(@Context HttpHeaders headers) { public String ping(@Context HttpHeaders headers) {
logger.info("************** GET PING"); logger.info("************** GET PING");
for (String header : headers.getRequestHeaders().keySet()) { for (String header : headers.getRequestHeaders().keySet()) {
logger.info(" " + header + ": " + headers.getHeaderString(header)); logger.info(" header --- " + header + ": " + headers.getHeaderString(header));
}
for (String cookieName : headers.getCookies().keySet()) {
logger.info(" cookie --- " + cookieName);
} }
return "ping"; return "ping";
} }
@@ -116,10 +131,17 @@ public class SaasService {
for (String header : headers.getRequestHeaders().keySet()) { for (String header : headers.getRequestHeaders().keySet()) {
logger.info(" " + header + ": " + headers.getHeaderString(header)); logger.info(" " + header + ": " + headers.getHeaderString(header));
} }
for (String cookieName : headers.getCookies().keySet()) {
logger.info(" cookie --- " + cookieName);
}
return Response.ok() return Response.ok()
.header("Access-Control-Allow-Origin", "*") .header("Access-Control-Allow-Origin", "*")
.header("Access-Control-Allow-Headers", HttpHeaders.AUTHORIZATION).build(); .header("Access-Control-Allow-Headers", HttpHeaders.AUTHORIZATION)
.header("Access-Control-Allow-Credentials", "true")
.build();
} }
*/
@Path("keepalive") @Path("keepalive")