Require authentication to participate in chat (#4762)

* feat(chat): require authentication to participate in chat

* fix: it's pretty much impossible to bypass the auth requirement, addressing review feedback anyway

* feat(chat): render chat text input as disabled if chat auth is required

* Commit updated API documentation

---------

Co-authored-by: Owncast <owncast@owncast.online>
This commit is contained in:
Gabe Kangas
2026-01-28 11:49:07 -08:00
committed by GitHub
co-authored by Owncast
parent 83c8b2b3d5
commit 93b482871f
29 changed files with 5194 additions and 5143 deletions
+32
View File
@@ -1514,6 +1514,35 @@ paths:
responses:
'204':
$ref: '#/components/responses/204'
/admin/config/chat/requireauthentication:
post:
summary: Set require authentication for chat
operationId: SetChatRequireAuthentication
tags: ['Internal', 'Admin', 'Chat']
security:
- BasicAuth: []
requestBody:
$ref: '#/components/requestBodies/AdminConfigValue'
responses:
'200':
description: Require authentication setting updated
content:
application/json:
schema:
$ref: '#/components/schemas/BaseAPIResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401BasicAuth'
default:
$ref: '#/components/responses/Default'
options:
operationId: SetChatRequireAuthenticationOptions
x-internal: true
tags: ['Objects', 'Internal', 'Admin', 'Chat']
responses:
'204':
$ref: '#/components/responses/204'
/admin/config/video/codec:
post:
summary: Set video codec
@@ -3660,6 +3689,9 @@ components:
type: boolean
chatDisabled:
type: boolean
chatRequireAuthentication:
type: boolean
description: Whether users must authenticate before sending chat messages
nsfw:
type: boolean
authentication: