diff options
Diffstat (limited to 'gerrit-oauth/src/main/java/com/google/gerrit/httpd/auth/oauth/OAuthWebFilter.java')
-rw-r--r-- | gerrit-oauth/src/main/java/com/google/gerrit/httpd/auth/oauth/OAuthWebFilter.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gerrit-oauth/src/main/java/com/google/gerrit/httpd/auth/oauth/OAuthWebFilter.java b/gerrit-oauth/src/main/java/com/google/gerrit/httpd/auth/oauth/OAuthWebFilter.java index 48963a6e51..5b9e4f1102 100644 --- a/gerrit-oauth/src/main/java/com/google/gerrit/httpd/auth/oauth/OAuthWebFilter.java +++ b/gerrit-oauth/src/main/java/com/google/gerrit/httpd/auth/oauth/OAuthWebFilter.java @@ -90,7 +90,12 @@ class OAuthWebFilter implements Filter { HttpServletRequest httpRequest = (HttpServletRequest) request; HttpSession httpSession = ((HttpServletRequest) request).getSession(false); OAuthSession oauthSession = oauthSessionProvider.get(); - if (currentUserProvider.get().isIdentifiedUser()) { + boolean link = request.getParameter("link") != null; + if (link) { + oauthSession.setLinkMode(link); + } + if (!oauthSession.isLinkMode() + && currentUserProvider.get().isIdentifiedUser()) { if (httpSession != null) { httpSession.invalidate(); } |