Trim leading slash from redirect after oauth login Bug: Issue 6059 Change-Id: I35899fa0c76263a4b732c08b4781752c5aca8f4c
diff --git a/gerrit-oauth/src/main/java/com/google/gerrit/httpd/auth/oauth/OAuthSession.java b/gerrit-oauth/src/main/java/com/google/gerrit/httpd/auth/oauth/OAuthSession.java index 0391831..c3210ae 100644 --- a/gerrit-oauth/src/main/java/com/google/gerrit/httpd/auth/oauth/OAuthSession.java +++ b/gerrit-oauth/src/main/java/com/google/gerrit/httpd/auth/oauth/OAuthSession.java
@@ -16,6 +16,7 @@ import static javax.servlet.http.HttpServletResponse.SC_UNAUTHORIZED; +import com.google.common.base.CharMatcher; import com.google.common.base.Strings; import com.google.gerrit.extensions.auth.oauth.OAuthServiceProvider; import com.google.gerrit.extensions.auth.oauth.OAuthToken; @@ -154,8 +155,9 @@ webSession.get().login(arsp, true); String suffix = redirectToken.substring(OAuthWebFilter.GERRIT_LOGIN.length() + 1); + suffix = CharMatcher.anyOf("/").trimLeadingFrom(Url.decode(suffix)); StringBuilder rdr = new StringBuilder(urlProvider.get(req)); - rdr.append(Url.decode(suffix)); + rdr.append(suffix); rsp.sendRedirect(rdr.toString()); }