Repository navigation
Enhance authentication framework and refactor token management - #102
Merged
Merged
Conversation
| from include.extensions.manager import ExtensionManifestError, parse_extension_manifest | ||
| from tests.support.extension_data import example_data | ||
|
|
||
| pytestmark = pytest.mark.component |
| sessionmaker, | ||
| ) | ||
|
|
||
| import include.database.models # noqa: F401 |
| from alembic.config import Config | ||
| from sqlalchemy import MetaData, Table, inspect, select | ||
|
|
||
| import include.database.models # noqa: F401 |
| import pytest | ||
| from sqlalchemy.orm import sessionmaker | ||
|
|
||
| import include.database.models # noqa: F401 |
| return True | ||
| except VerifyMismatchError: | ||
| continue | ||
| except orjson.JSONDecodeError, ValueError: |
|
|
||
|
|
||
| # revision identifiers, used by Alembic. | ||
| revision: str = '5ad5aca75635' |
|
|
||
| # revision identifiers, used by Alembic. | ||
| revision: str = '5ad5aca75635' | ||
| down_revision: str | None = '0460356a5ba6' |
| # revision identifiers, used by Alembic. | ||
| revision: str = '5ad5aca75635' | ||
| down_revision: str | None = '0460356a5ba6' | ||
| branch_labels: str | None = None |
| revision: str = '5ad5aca75635' | ||
| down_revision: str | None = '0460356a5ba6' | ||
| branch_labels: str | None = None | ||
| depends_on: str | None = None |
Extract password, TOTP and public-key credentials from User and add an extensible provider registry. Standardize authentication state, support token purpose flags and preserve raw token secrets. Include the credential schema migration and MySQL fingerprint storage fix with their owning feature.
Use immutable account IDs in tokens, permissions, audit records, documents, keyrings, schedules and backup data. Update associated handlers and tests. Chain the UUID migration after credential extraction and preserve dependent SQLite rows and preference key references during upgrade and downgrade.
Make credential relationships unidirectional and centralize credential mutations. Give credentials stable IDs and model login, MFA and escalation policies independently. Add policy migrations, OIDC identity bindings and policy-aware backup support with the corresponding tests and documentation.
Move OIDC credential models and commands into the OIDC extension. Add extension data lifecycle support for metadata, database migration, copying, backup and restore. Document ownership boundaries and cover extension persistence, lifecycle and backup behavior.
Use user IDs in account management, permissions, keyring and two-factor operations while retaining usernames as login names. Update protocol metadata, request models, client helpers, API documentation and user-management regression tests.
Make established handler, policy, extension and maintenance invariants explicit. Handle missing account and lockdown state consistently. Cover persisted state, deployment failures, extension data and backup row validation in focused regression tests.
Introduce provider-driven login, MFA and escalation flows with bounded dialog timeouts, public-key challenges and purpose policy enforcement. Exclude TOTP from primary login and preserve password update requirements. Add authentication secret rotation, username validation, context checks and sensitive-log isolation. Update protocol 30 documentation, rate accounting and authentication tests.
Parameterize RequestHandler with each validated request model throughout core handlers and built-in extensions. Add Pyright configuration and its locked development dependency, document type checking, and verify request-handler type bindings.
…on tests Restore pre-UUID account archives and authentication policies without losing credential or related rows. Add historical schema fixtures and migration/restore regression coverage. Isolate database-dependent CI tests, cover MySQL data behavior and align server metadata assertions with the protocol constant. Retain the final historical-upgrade and CI changelog entries.
Creeper19472
force-pushed
the
feat-login-methods
branch
from
October 23, 2026 16:11
7dbb3a0 to
96d2b92
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.