Merge pull request #9475 from owncloud/log-useragent-and-remoteaddr

Log user agent and remote addr on auth errors
This commit is contained in:
Michael Barz
2024-07-16 13:23:01 +02:00
committed by GitHub
2 changed files with 11 additions and 0 deletions
@@ -0,0 +1,5 @@
Enhancement: Log user agent and remote addr on auth errors
The proxy will now log `user_agent`, `client.address`, `network.peer.address` and `network.peer.port` to help operations debug authentication errors. The latter three follow the [Semantic Conventions 1.26.0 / General / Attributes](https://opentelemetry.io/docs/specs/semconv/general/attributes/) naming to better integrate with log aggregation tools.
https://github.com/owncloud/ocis/pull/9475
@@ -3,6 +3,7 @@ package middleware
import (
"context"
"encoding/base64"
"net"
"net/http"
"strings"
"time"
@@ -181,10 +182,15 @@ func (m *OIDCAuthenticator) Authenticate(r *http.Request) (*http.Request, bool)
claims, err := m.getClaims(token, r)
if err != nil {
host, port, _ := net.SplitHostPort(r.RemoteAddr)
m.Logger.Error().
Err(err).
Str("authenticator", "oidc").
Str("path", r.URL.Path).
Str("user_agent", r.UserAgent()).
Str("client.address", r.Header.Get("X-Forwarded-For")).
Str("network.peer.address", host).
Str("network.peer.port", port).
Msg("failed to authenticate the request")
return nil, false
}