users need always login
This commit is contained in:
@@ -41,9 +41,8 @@ podcasts=D:\Podcasts
|
||||
7b4776ef27104e8eb9f7ea2c622ce76ca23de4260b0f94e6880d321017b32a0e4=true
|
||||
|
||||
[authentication]
|
||||
local-networks=127.0.0.0/8;::1/128;10.0.0.0/8;172.16.0.0/12;192.168.0.0/16
|
||||
trusted-proxies=127.0.0.0/8;::1/128
|
||||
session-seconds=43200
|
||||
session-seconds=604800
|
||||
|
||||
[users]
|
||||
hans=$argon2id$v=19$m=19456,t=2,p=1$...
|
||||
@@ -57,8 +56,8 @@ ondersteund. Playlisttabs worden standaard opgeslagen in de keystore
|
||||
`playlist-keystore=...` onder `[player]` kan desgewenst een ander pad worden
|
||||
gebruikt.
|
||||
|
||||
Zodra `[users]` minstens één gebruiker bevat, toont de webinterface voor
|
||||
niet-lokale clients een eigen loginvenster. Wachtwoorden staan uitsluitend als
|
||||
Zodra `[users]` minstens één gebruiker bevat, moeten alle browserclients
|
||||
inloggen, zowel lokaal als via internet. Wachtwoorden staan uitsluitend als
|
||||
Argon2id-hash in de INI. Maak zo'n hash vanuit Racket:
|
||||
|
||||
```racket
|
||||
@@ -69,7 +68,6 @@ Argon2id-hash in de INI. Maak zo'n hash vanuit Racket:
|
||||
(displayln (make-password-hash "een lang en uniek wachtwoord"))
|
||||
```
|
||||
|
||||
`local-networks` bepaalt welke clients zonder login mogen werken.
|
||||
`trusted-proxies` bepaalt uitsluitend van welke directe peers de laatste
|
||||
`X-Forwarded-For`-waarde wordt geaccepteerd. Laat die lijst zo klein mogelijk;
|
||||
bij Apache op dezelfde machine zijn loopbackadressen voldoende. Zonder
|
||||
@@ -108,21 +106,25 @@ tab verdwijnt daarbij ook uit de keystore. Voor iedere gebruiker bevat de key
|
||||
GUID-key staan de naam en tracks van die playlist. Tracks uit verschillende
|
||||
geconfigureerde libraries mogen in dezelfde playlist staan; ontbrekende of
|
||||
buiten de libraries gelegen bestanden worden bij het laden overgeslagen.
|
||||
`local`, `anonymous` en iedere aangemelde gebruiker hebben daarbij een eigen
|
||||
playlistverzameling. Het fysieke afspeelpunt en de transportbediening blijven
|
||||
gedeeld; een playlistcommando van een andere gebruiker neemt die speler over.
|
||||
Iedere aangemelde gebruiker heeft daarbij een eigen playlistverzameling. Als
|
||||
authenticatie is uitgeschakeld, wordt de verzameling van `anonymous` gebruikt.
|
||||
Het fysieke afspeelpunt en de transportbediening blijven gedeeld; een
|
||||
playlistcommando van een andere gebruiker neemt die speler over. Een oudere
|
||||
`playlists-for-local`-verzameling blijft in de keystore staan, maar wordt niet
|
||||
automatisch aan een gebruiker toegewezen.
|
||||
|
||||
De server luistert standaard alleen op localhost. Geef alleen bewust een
|
||||
LAN-adres aan `--listen-ip`. Configureer gebruikersauthenticatie voordat de
|
||||
webinterface via een publiek bereikbare reverse proxy wordt aangeboden.
|
||||
|
||||
Externe gebruikers krijgen na succesvolle aanmelding een willekeurige 256-bit
|
||||
sessiecookie met `Secure`, `HttpOnly` en `SameSite=Strict`. Sessies verlopen na
|
||||
de ingestelde inactiviteitsduur en worden niet over een serverherstart heen
|
||||
bewaard. Na vijf mislukte pogingen vanaf hetzelfde clientadres wordt aanmelden
|
||||
vijf minuten geblokkeerd. De `/api/agent/*`-routes gebruiken geen
|
||||
gebruikerssessie: daarvoor blijft de afzonderlijke playback-agent-allowlist
|
||||
gelden.
|
||||
Gebruikers krijgen na succesvolle aanmelding een willekeurige 256-bit
|
||||
sessiecookie met `Secure`, `HttpOnly` en `SameSite=Strict`. De standaard
|
||||
inactiviteitsduur is zeven dagen. Geldig gebruik verschuift de servertermijn;
|
||||
halverwege de termijn wordt ook de browsercookie opnieuw voor zeven dagen
|
||||
uitgegeven. Sessies worden niet over een serverherstart heen bewaard. Na vijf
|
||||
mislukte pogingen vanaf hetzelfde clientadres wordt aanmelden vijf minuten
|
||||
geblokkeerd. De `/api/agent/*`-routes gebruiken geen gebruikerssessie: daarvoor
|
||||
blijft de afzonderlijke playback-agent-allowlist gelden.
|
||||
|
||||
## Windows playback agent
|
||||
|
||||
|
||||
Reference in New Issue
Block a user