(c: Context<{ Bindings: Env }>)
| 18 | const token = extractBearerToken(c); |
| 19 | if (!token) { |
| 20 | return false; |
| 21 | } |
| 22 | |
| 23 | const adminToken = c.env.DB_PROXY_ADMIN_TOKEN; |
| 24 | if (!adminToken || adminToken.trim().length === 0) { |
| 25 | return false; |
| 26 | } |
| 27 | |
| 28 | return timingSafeEqual(token, adminToken); |
| 29 | } |
| 30 | |
| 31 | /** |
| 32 | * Generate a cryptographically random token (32 bytes, hex-encoded) |
| 33 | */ |
| 34 | export function generateToken(): string { |
| 35 | const bytes = new Uint8Array(32); |
no test coverage detected