Add a custom RateIssuer that keys authenticated requests by user id instead of IP, for the write/vote (and optionally login) buckets.
Scope
- Implement a
RateIssuer that reads the authenticated user from the Depot (populated by validate_biscuit_token; see auth::get_user_from_depot, used at src/web/item.rs:370).
- Fall back to IP keying when no user is present.
- Wire it into the write/vote buckets so vote-stuffing and property spam are limited per account, not per shared NAT/proxy IP.
Depends on
Parent: #50
Add a custom
RateIssuerthat keys authenticated requests by user id instead of IP, for the write/vote (and optionally login) buckets.Scope
RateIssuerthat reads the authenticated user from theDepot(populated byvalidate_biscuit_token; seeauth::get_user_from_depot, used atsrc/web/item.rs:370).Depends on
Parent: #50