Skip to content
Snippets Groups Projects
Verified Commit a2d190ae authored by Dominik Frantisek Bucik's avatar Dominik Frantisek Bucik
Browse files

fix: :bug: Add switch for LogRequests filter

Add `logRequestsEnabled=true|false` to enable or disable logging of the
incoming request.
parent 2588093b
No related branches found
No related tags found
1 merge request!384fix: 🐛 Add switch for LogRequests filter
Pipeline #409388 passed
......@@ -37,6 +37,7 @@
<prop key="perun.adapter.callFallback">true</prop>
<prop key="fill.missing.user.attrs">true</prop>
<prop key="perun.adapter.primary">RPC</prop>
<prop key="logRequestsEnabled">false</prop>
<!-- RPC -->
<prop key="perun.rpc.enabled">true</prop>
<prop key="perun.rpc.url">https://perun.elixir-czech.cz/krb/rpc</prop>
......@@ -474,6 +475,7 @@
<property name="krbTokenExchangeApiPassword" value="${token-exchange.kerberos.translator.password}"/>
<property name="krbTokenExchangeRequiredScopes" value="#{'${token-exchange.kerberos.requiredScopes}'.split('\s*,\s*')}"/>
<property name="requesterIdPrefix" value="${saml.requester-id.prefix}"/>
<property name="logRequestsEnabled" value="${logRequestsEnabled}"/>
</bean>
<bean id="facilityAttrsConfig" class="cz.muni.ics.oidc.server.configurations.FacilityAttrsConfig">
......
......@@ -116,7 +116,9 @@
<security:expression-handler ref="oauthExpressionHandler" />
</security:global-method-security>
<bean id="logRequestFilter" class="cz.muni.ics.oidc.web.LogRequestFilter"/>
<bean id="logRequestFilter" class="cz.muni.ics.oidc.web.LogRequestFilter">
<constructor-arg name="config" ref="perunOidcConfig"/>
</bean>
<!-- Token endpoint -->
<security:http pattern="/token"
......
......@@ -92,6 +92,8 @@ public class PerunOidcConfig implements InitializingBean {
@Autowired
private Properties coreProperties;
private boolean logRequestsEnabled;
public String getPerunOIDCVersion() {
if (perunOIDCVersion == null) {
perunOIDCVersion = readPomVersion(OIDC_POM_FILE);
......
......@@ -27,30 +27,38 @@ public class LogRequestFilter extends OncePerRequestFilter {
"HEADERS: {}" +
WRAPPER;
private final boolean enabled;
public LogRequestFilter(PerunOidcConfig config) {
enabled = config.isLogRequestsEnabled();
}
@Override
protected void doFilterInternal(final HttpServletRequest req,
HttpServletResponse response,
FilterChain filterChain)
throws ServletException, IOException
{
log.trace(MSG, req.getMethod(), req.getRequestURL(),
Collections.list(req.getParameterNames())
.stream()
.collect(
Collectors.toMap(
parameter -> parameter,
parameter -> List.of(req.getParameterValues((String) parameter))
)
),
Collections.list(req.getHeaderNames())
.stream()
.collect(
Collectors.toMap(
header -> header,
header -> List.of(req.getHeaders((String)header))
)
)
);
if (enabled) {
log.trace(MSG, req.getMethod(), req.getRequestURL(),
Collections.list(req.getParameterNames())
.stream()
.collect(
Collectors.toMap(
parameter -> parameter,
parameter -> List.of(req.getParameterValues((String) parameter))
)
),
Collections.list(req.getHeaderNames())
.stream()
.collect(
Collectors.toMap(
header -> header,
header -> List.of(req.getHeaders((String) header))
)
)
);
}
filterChain.doFilter(req, response);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment