13c779ed11
Adds the user API key foundation called out in #788: - New api_keys table with idx_api_keys_user and idx_api_keys_prefix - users extended with auth_provider/keycloak_issuer/keycloak_sub/email/last_login_at - Authorization: Bearer hwl_live_... resolves to the same AuthPrincipal - /v1/api-keys, /v1/api-keys/default, /v1/api-keys/{id}/regenerate, DELETE /v1/api-keys/{id} - First-admin and /auth/login bootstrap a Default API key - Short-test mode keeps display_secret; production化 will switch to hash-only later - Legacy HWLAB_DEVICE_POD_API_KEY and Bearer <session-token> paths preserved - 4 new access-control.test.ts cases Refs pikasTech/HWLAB#788