mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-22 12:42:49 +00:00
fix(dashboard): DataTables queries count as reads for read-only API keys
POST /api/tables/... only reads, so read-only keys may use it (and the API docs list it for them). Keys limited to some addresses can't open the WebSocket, whose address isn't checked, nor keys whose allowed paths leave out /ws. Refusals are audited without an account target. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -279,7 +279,7 @@ namespace ApiKeyRoutes {
|
||||
|
||||
// Refusals of keys (their scope, read-only, addresses, paths, limits) go to the audit log, a minute apart at most
|
||||
ApiKeyService::SetDeniedHook([](const HTTPContext& context, const std::string& reason) {
|
||||
Audit(context, "api_key_denied", reason, AuditTarget::Account(context.accountId));
|
||||
Audit(context, "api_key_denied", reason);
|
||||
});
|
||||
RequireAuthMiddleware::SetApiKeyDeniedHook([](const HTTPContext& context, const std::string& reason) { ApiKeyService::NoteDenied(context, reason); });
|
||||
ApiKeyService::SetClientAddress([](const HTTPContext& context) { return ClientAddress(context); });
|
||||
|
||||
Reference in New Issue
Block a user