Skip to content
This repository was archived by the owner on Sep 28, 2022. It is now read-only.

Commit 73288b5

Browse files
author
Dominik Frantisek Bucik
committed
fix: 🐛 Empty referrer is always considered as external
1 parent 1397356 commit 73288b5

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

perun-oidc-server/src/main/java/cz/muni/ics/oidc/saml/SamlInvalidateSessionFilter.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,19 +68,18 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha
6868
HttpServletRequest req = (HttpServletRequest) request;
6969
HttpServletResponse res = (HttpServletResponse) response;
7070
if (MATCHER.matches(req)) {
71-
boolean isDeviceCodeFlow = DEVICE_CODE_MATCHER.matches(req) || DEVICE_CODE_ALL_MATCHER.matches(req);
7271
String referer = req.getHeader(REFERER);
73-
if (!isInternalReferer(referer, !isDeviceCodeFlow)) {
72+
if (!isInternalReferer(referer)) {
7473
log.debug("Got external referer, clear session to reauthenticate");
7574
contextLogoutHandler.logout(req, res, null);
7675
}
7776
}
7877
chain.doFilter(req, res);
7978
}
8079

81-
private boolean isInternalReferer(String referer, boolean emptyRefererAsInternal) {
82-
if (!StringUtils.hasText(referer)) { // no referer, consider as internal
83-
return emptyRefererAsInternal;
80+
private boolean isInternalReferer(String referer) {
81+
if (!StringUtils.hasText(referer)) {
82+
return false;
8483
}
8584
for (String internal : internalReferrers) {
8685
if (referer.startsWith(internal)) {

0 commit comments

Comments
 (0)