Merge pull request #2326 from stianst/KEYCLOAK-2592

Keycloak 2592
This commit is contained in:
Stian Thorgersen 2016-03-07 06:12:17 +01:00
commit 4f047565fb
3 changed files with 12 additions and 3 deletions

View file

@ -206,7 +206,7 @@ public class OAuthRequestAuthenticator {
tokenStore.saveRequest(); tokenStore.saveRequest();
log.debug("Sending redirect to login page: " + redirect); log.debug("Sending redirect to login page: " + redirect);
exchange.getResponse().setStatus(302); exchange.getResponse().setStatus(302);
exchange.getResponse().setCookie(deployment.getStateCookieName(), state, /* need to set path? */ null, null, -1, deployment.getSslRequired().isRequired(facade.getRequest().getRemoteAddr()), false); exchange.getResponse().setCookie(deployment.getStateCookieName(), state, /* need to set path? */ null, null, -1, deployment.getSslRequired().isRequired(facade.getRequest().getRemoteAddr()), true);
exchange.getResponse().setHeader("Location", redirect); exchange.getResponse().setHeader("Location", redirect);
return true; return true;
} }

View file

@ -110,6 +110,14 @@ public class AbstractOAuthClient {
this.publicClient = publicClient; this.publicClient = publicClient;
} }
public boolean isSecure() {
return isSecure;
}
public void setSecure(boolean secure) {
isSecure = secure;
}
public RelativeUrlsUsed getRelativeUrlsUsed() { public RelativeUrlsUsed getRelativeUrlsUsed() {
return relativeUrlsUsed; return relativeUrlsUsed;
} }

View file

@ -177,6 +177,8 @@ public abstract class AbstractSecuredLocalService {
oauth.setClientId(client.getClientId()); oauth.setClientId(client.getClientId());
oauth.setSecure(realm.getSslRequired().isRequired(clientConnection));
UriBuilder uriBuilder = UriBuilder.fromUri(getBaseRedirectUri()).path("login-redirect"); UriBuilder uriBuilder = UriBuilder.fromUri(getBaseRedirectUri()).path("login-redirect");
if (path != null) { if (path != null) {
@ -247,8 +249,7 @@ public abstract class AbstractSecuredLocalService {
URI url = uriBuilder.build(); URI url = uriBuilder.build();
// todo httpOnly! NewCookie cookie = new NewCookie(getStateCookieName(), state, getStateCookiePath(uriInfo), null, null, -1, isSecure, true);
NewCookie cookie = new NewCookie(getStateCookieName(), state, getStateCookiePath(uriInfo), null, null, -1, isSecure);
logger.debug("NewCookie: " + cookie.toString()); logger.debug("NewCookie: " + cookie.toString());
logger.debug("Oauth Redirect to: " + url); logger.debug("Oauth Redirect to: " + url);
return Response.status(302) return Response.status(302)