Исключить / замаскировать чувствительные поля из StructuredArguments при выходе из системы - PullRequest
0 голосов
/ 15 апреля 2020

В настоящее время я регистрируюсь, используя logback детали запроса, как показано ниже

logger.info("Request Data", kv(LoggingConstants.PRINCIPAL, request.getUserPrincipal());

, для которого сгенерированный журнал ниже


{
    "principal": {
        "authorities": [],
        "details": {
            "remoteAddress": "0:0:0:0:0:0:0:1",
            **"sessionId": "489JW9JW9JW0W4884494JF8W0KSD0WEWE0",
            "tokenValue": "aasweiji2niifa903jfe9j0wkw9jawef-2jfweafpas0fw3fawejf0pwefj[0kfpwejf9pjfpawofp9wfjpwafjapfi]0-fkmawepofcmawe9fj wefk",**
            "tokenType": "Bearer",
            "decodedDetails": null
        },
        "authenticated": true,
        "userAuthentication": {
            "authorities": [],
            "details": null,
            "authenticated": true,
            "credentials": "",
            "name": "admin",
            "principal": "admin"
        },
        "oauth2Request": {
            "clientId": null,
            "scope": [],
            "requestParameters": {
                "client_id": null
            },
            "resourceIds": [
                "ABC"
            ],
            "authorities": [],
            "approved": true,
            "refresh": false,
            "redirectUri": null,
            "responseTypes": [],
            "extensions": {},
            "grantType": null,
            "refreshTokenRequest": null
        },
        "credentials": "",
        "clientOnly": false,
        "principal": "admin",
        "name": "admin"
    }
}

мы используем кодировщик ниже

<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">

Как я могу исключить или замаскировать конфиденциальные данные, такие как tokenValue, sessionId из журнала?

...