Skip to content

Enhance authentication framework and refactor token management - #102

Merged
Creeper19472 merged 9 commits into
masterfrom
feat-login-methods
Oct 23, 2026
Merged

Creeper19472 merged 9 commits into
masterfrom
feat-login-methods

Conversation

@Creeper19472

Copy link
Copy Markdown
Collaborator

No description provided.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, we are unable to review this pull request

The GitHub API does not allow us to fetch diffs exceeding 20000 lines

from include.extensions.manager import ExtensionManifestError, parse_extension_manifest
from tests.support.extension_data import example_data

pytestmark = pytest.mark.component
Comment thread tests/maintenance/backup/test_extension_data.py Fixed
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
Creeper19472 merged commit 139e526 into master Oct 23, 2026
17 of 19 checks passed
@Creeper19472
Creeper19472 deleted the feat-login-methods branch October 23, 2026 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant