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
@@ -541,6 +541,21 @@ func (r *SqlConfigRepository) GetChatSlurFilterEnabled() bool {
return false
}
// SetChatRequireAuthentication will set if authentication is required for chat.
func (r *SqlConfigRepository) SetChatRequireAuthentication(enabled bool) error {
return r.datastore.SetBool(chatRequireAuthenticationKey, enabled)
}
// GetChatRequireAuthentication will return if authentication is required for chat.
func (r *SqlConfigRepository) GetChatRequireAuthentication() bool {
enabled, err := r.datastore.GetBool(chatRequireAuthenticationKey)
if err == nil {
return enabled
}
return false
}
// GetExternalActions will return the registered external actions.
func (r *SqlConfigRepository) GetExternalActions() []models.ExternalAction {
configEntry, err := r.datastore.Get(externalActionsKey)