Class CacheClientCredentialsRateLimiter
java.lang.Object
io.leandev.appfuse.security.auth.CacheClientCredentialsRateLimiter
- All Implemented Interfaces:
ClientCredentialsRateLimiter
public final class CacheClientCredentialsRateLimiter
extends Object
implements ClientCredentialsRateLimiter
以具 TTI/TTL 的整數 Cache 實作 M2M token 端點限流。
視窗策略由注入 cache 的 expiry 決定;本類只承擔容易重複寫錯的計數與 key 正規化機制。
應用若需要 Redis、gateway 或分散式原子計數,直接提供其他 ClientCredentialsRateLimiter
bean 即可。
-
Field Details
-
DEFAULT_LIMIT
public static final int DEFAULT_LIMIT- See Also:
-
DEFAULT_KEY_PREFIX
- See Also:
-
DEFAULT_ANONYMOUS_KEY
- See Also:
-
-
Constructor Details
-
CacheClientCredentialsRateLimiter
-
CacheClientCredentialsRateLimiter
-
-
Method Details
-
allow
Description copied from interface:ClientCredentialsRateLimiter是否允許本次請求- Specified by:
allowin interfaceClientCredentialsRateLimiter- Parameters:
clientId- 請求宣稱的 client_id;未提供時由呼叫端以來源位址等替代鍵帶入- Returns:
- true 放行;false →
OAuth2TokenException.rateLimited()(HTTP 429)
-