@@ -17,7 +17,9 @@ package auth
1717import (
1818 "bytes"
1919 "context"
20+ "crypto/sha256"
2021 "encoding/base64"
22+ "encoding/hex"
2123 "errors"
2224 "sort"
2325 "strings"
@@ -349,11 +351,10 @@ func (as *authStore) Authenticate(ctx context.Context, username, password string
349351 return nil , err
350352 }
351353
352- as .lg .Debug (
353- "authenticated a user" ,
354- zap .String ("user-name" , username ),
355- zap .String ("token" , token ),
356- )
354+ if ce := as .lg .Check (zap .DebugLevel , "authenticated a user" ); ce != nil {
355+ tokenFingerprint := redactToken (token )
356+ ce .Write (zap .String ("user-name" , username ), zap .String ("token-fingerprint" , tokenFingerprint ))
357+ }
357358 return & pb.AuthenticateResponse {Token : token }, nil
358359}
359360
@@ -1074,7 +1075,8 @@ func (as *authStore) AuthInfoFromCtx(ctx context.Context) (*AuthInfo, error) {
10741075 token := ts [0 ]
10751076 authInfo , uok := as .authInfoFromToken (ctx , token )
10761077 if ! uok {
1077- as .lg .Warn ("invalid auth token" , zap .String ("token" , token ))
1078+ tokenFingerprint := redactToken (token )
1079+ as .lg .Warn ("invalid auth token" , zap .String ("token-fingerprint" , tokenFingerprint ))
10781080 return nil , ErrInvalidAuthToken
10791081 }
10801082
@@ -1228,3 +1230,8 @@ func (as *authStore) setupMetricsReporter() {
12281230 }
12291231 reportCurrentAuthRevMu .Unlock ()
12301232}
1233+
1234+ func redactToken (token string ) string {
1235+ sum := sha256 .Sum256 ([]byte (token ))
1236+ return hex .EncodeToString (sum [:])[:12 ]
1237+ }
0 commit comments