Issue #5: implement sqlite auth store and migrations
This commit is contained in:
@@ -612,6 +612,23 @@ SQLite auth storage should use startup migrations with a `schema_version` table.
|
||||
Migrations should run inside transactions and fail startup if the database
|
||||
schema is newer than the running binary understands.
|
||||
|
||||
The v1 auth store uses `Microsoft.Data.Sqlite` and creates the
|
||||
`schema_version`, `api_keys`, and `api_key_audit` tables through
|
||||
`SqliteAuthStoreMigrator`. `AuthStoreMigrationHostedService` runs those
|
||||
migrations at gateway startup when API-key authentication and
|
||||
`Authentication:RunMigrationsOnStartup` are enabled. A database with a newer
|
||||
schema version fails startup instead of being modified by an older gateway
|
||||
binary.
|
||||
|
||||
`IApiKeyStore` reads stored key records and exposes an active-key lookup that
|
||||
excludes rows with `revoked_utc` set. Hash verification belongs to the API-key
|
||||
hashing layer, but the store preserves the `secret_hash` bytes, display name,
|
||||
scopes, timestamps, and revocation state needed by that layer.
|
||||
|
||||
`IApiKeyAuditStore` appends audit events to `api_key_audit` and returns recent
|
||||
events for diagnostics and future administrative tools. Audit records store key
|
||||
ids and event metadata only; they do not store raw API key secrets.
|
||||
|
||||
Commands requiring authorization:
|
||||
|
||||
- writes,
|
||||
|
||||
Reference in New Issue
Block a user