diff --git a/server/router/api/v1/v1.go b/server/router/api/v1/v1.go index 74b342fa2..834f054fb 100644 --- a/server/router/api/v1/v1.go +++ b/server/router/api/v1/v1.go @@ -59,7 +59,7 @@ func (s *APIV1Service) RegisterGateway(ctx context.Context, echoServer *echo.Ech ctx := r.Context() // Get the RPC method name from context (set by grpc-gateway after routing) - rpcMethod, _ := runtime.RPCMethod(ctx) + rpcMethod, ok := runtime.RPCMethod(ctx) // Extract credentials from HTTP headers authHeader := r.Header.Get("Authorization") @@ -67,7 +67,8 @@ func (s *APIV1Service) RegisterGateway(ctx context.Context, echoServer *echo.Ech result := authenticator.Authenticate(ctx, authHeader) // Enforce authentication for non-public methods - if result == nil && !IsPublicMethod(rpcMethod) { + // If rpcMethod cannot be determined, allow through, service layer will handle visibility checks + if result == nil && ok && !IsPublicMethod(rpcMethod) { http.Error(w, `{"code": 16, "message": "authentication required"}`, http.StatusUnauthorized) return }