Add proper logging

This commit is contained in:
2021-12-06 07:55:30 +01:00
parent 6f91ac3d2d
commit 80b6281564
8 changed files with 147 additions and 23 deletions

View File

@@ -5,6 +5,7 @@ import (
"gitea.benny.dog/torjus/ezshare/pb"
"gitea.benny.dog/torjus/ezshare/store"
"go.uber.org/zap"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/peer"
@@ -15,7 +16,7 @@ type ContextKey string
var ContextKeyRole ContextKey = "role"
var ContextKeyUserID ContextKey = "userid"
func NewAuthInterceptor(s store.UserStore) grpc.UnaryServerInterceptor {
func NewAuthInterceptor(s store.UserStore, logger *zap.SugaredLogger) grpc.UnaryServerInterceptor {
// TODO: Verify that cert is signed by our ca
return func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp interface{}, err error) {
p, ok := peer.FromContext(ctx)
@@ -31,6 +32,7 @@ func NewAuthInterceptor(s store.UserStore) grpc.UnaryServerInterceptor {
if err == nil {
newCtx := context.WithValue(ctx, ContextKeyRole, user.UserRole)
newCtx = context.WithValue(newCtx, ContextKeyUserID, user.Id)
logger.Debugw("Authenticated user.", "username", user.Username, "role", user.UserRole.String())
return handler(newCtx, req)
}
}