I tried with only Digest authentication:
$ wget -O playlist.m3u http://test:test@glosnik.lan:9981/playlist/auth/channels
--2020-12-12 20:14:06-- http://test:*password*@glosnik.lan:9981/playlist/auth/channels
Resolving glosnik.lan (glosnik.lan)... 192.168.2.127
Connecting to glosnik.lan (glosnik.lan)|192.168.2.127|:9981... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Authentication selected: Digest realm="tvheadend", qop=auth, nonce="GHeX4eXbVOY+v00/r3pdKKUx88XRuDHH9onD7WKI+wc=", opaque="GgYlHo7xdWGwu7P/KOoW2sAjBOToPD1sdPDX6hObz28="
Reusing existing connection to glosnik.lan:9981.
HTTP request sent, awaiting response... 403 Forbidden
2020-12-12 20:14:06 ERROR 403: Forbidden.
With only Plain (insecure) authentication:
$ wget -O playlist.m3u http://test:test@glosnik.lan:9981/playlist/auth/channels
--2020-12-12 20:14:06-- http://test:*password*@glosnik.lan:9981/playlist/auth/channels
Resolving glosnik.lan (glosnik.lan)... 192.168.2.127
Connecting to glosnik.lan (glosnik.lan)|192.168.2.127|:9981... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Authentication selected: Digest realm="tvheadend", qop=auth, nonce="GHeX4eXbVOY+v00/r3pdKKUx88XRuDHH9onD7WKI+wc=", opaque="GgYlHo7xdWGwu7P/KOoW2sAjBOToPD1sdPDX6hObz28="
Reusing existing connection to glosnik.lan:9981.
HTTP request sent, awaiting response... 403 Forbidden
2020-12-12 20:14:06 ERROR 403: Forbidden.
Each time in tvheadend log there are those lines:
2020-12-12 20:15:41.200 [ DEBUG]:http: 10.8.0.2: HTTP/1.1 GET (1) /playlist/auth/channels -- 401
2020-12-12 20:15:41.243 [ ERROR]:http: 10.8.0.2: HTTP/1.1 GET (1) /playlist/auth/channels -- 403