Commit Graph

42 Commits

Author SHA1 Message Date
Tejas a3e52688ad Merge branch 'main' into feature/orthogonal-authsome-modules 2026-05-29 13:22:28 +05:30
beubax fbdf580cd6 refactor: introduce CredentialRepository and ProviderRepository to centralize storage and management logic; move functions into their respective domains 2026-05-28 18:30:14 +05:30
Manoj Bajaj 0ed077b9df feat: implement audit events and principal roles
Implement ADR 005 by routing audit events through OpenTelemetry with a server-owned SQLite exporter and query endpoint. Implement ADR 006 by persisting principal roles, assigning first principal admin, and enforcing admin-only routes at the FastAPI dependency layer.

Entire-Checkpoint: df60966364f1
2026-05-28 15:13:56 +05:30
beubax 9affa1dc7b refactor: rename scope to vault in key construction utility and storage operations 2026-05-20 15:07:09 +05:30
beubax 923cc93aca feat: scope connections to vault, add claim flow and principal concept, confine UI session to principal view, and make vault/identity/principal orthogonal 2026-05-19 14:25:57 +05:30
beubax 5c98ea5412 refactor: transition to persistent storage backend for sessions, identities, and audit events with async support 2026-05-14 18:04:16 +05:30
beubax be78393d23 feat: make provider client credentials a global property of hosted deployment 2026-05-13 23:22:31 +05:30
beubax 79f0a96806 refactor: rename profile to identity 2026-05-13 14:45:51 +05:30
Ankit Ranjan b0835eb299 refactor: decompose monolithic CLI tests into modular, feature-specific test files 2026-05-08 17:41:50 +05:30
rishabhraj36 45c3a4bf91 fix: add non-interactive register confirmation flag 2026-05-08 13:25:21 +05:30
rishabhraj36 09fd6bc687 fix(cli): distinct exit code for cancelled credential entry 2026-05-02 08:08:40 +05:30
Tejas c6a9eb977f Merge pull request #121 from manojbajaj95/feat--expand-whoami
feat: expand whoami with active profile, connected providers, and version
2026-04-30 17:39:18 +05:30
Tejas 2ad01dd472 Merge pull request #122 from manojbajaj95/feat--register-endpoint-confirmation-prompt-and-connectivity-smoke-test
feat: register — endpoint confirmation prompt and connectivity smoke test
2026-04-30 17:37:34 +05:30
Ankit Ranjan a5d8ce6a06 test: remove unnecessary empty line in test_cli.py 2026-04-30 16:02:25 +05:30
Ankit Ranjan be91c1c8da test: bypass os authentication in cli get-secret tests using patch 2026-04-30 16:02:05 +05:30
Ankit Ranjan c4547abc38 refactor: consolidate function signature formatting in test_register_scenarios 2026-04-30 14:24:51 +05:30
Ankit Ranjan cb2b1f7d08 refactor: consolidate CLI registration tests into a single parametrized test and remove redundant JSON fixture files. 2026-04-30 14:24:21 +05:30
Ankit Ranjan 4c407a305e test: mock requests.head in cli registration tests to verify network handling 2026-04-30 13:59:28 +05:30
Ankit Ranjan 18e6900d6b feat: add provider endpoint validation and pre-registration connectivity checks to CLI 2026-04-30 13:56:54 +05:30
Ankit Ranjan 1f654036eb test: update whoami CLI output assertions to match refactored encryption and provider data structures 2026-04-30 13:31:10 +05:30
Manoj Bajaj e2e82dff6a Merge branch 'develop' into convenience-ux-issues 2026-04-29 15:57:13 +05:30
Manoj Bajaj e76e49c509 Merge branch 'develop' into fix/export-all-connected-accounts 2026-04-29 15:43:05 +05:30
Manoj Bajaj 8faf814800 fix: count active providers once 2026-04-29 15:40:30 +05:30
Manoj Bajaj 9ac6750809 feat: render list output as table 2026-04-29 15:23:41 +05:30
Manoj Bajaj 55aa3764f5 feat: show expiry in list output 2026-04-29 15:16:51 +05:30
Manoj Bajaj 2dead00b95 feat: expand whoami context 2026-04-29 15:14:18 +05:30
Manoj Bajaj 3c25b10e21 feat: show connections in inspect 2026-04-29 15:12:42 +05:30
Manoj Bajaj cb327fa389 fix: make login idempotent 2026-04-29 15:10:10 +05:30
Manoj Bajaj 622992ffa7 fix: export all connections when provider omitted 2026-04-29 14:58:22 +05:30
Tejas e130f309ad Merge pull request #105 from manojbajaj95/feat--audit-logging
feat: add audit logging
2026-04-29 13:57:32 +05:30
beubax e831c53287 refactor: simplify CLI usage by removing complex setup instructions and mentions of init; update export to set environment variables directly 2026-04-29 13:50:19 +05:30
Ankit Ranjan d289414ccc refactor: remove redundant whitespace in audit test file 2026-04-29 13:26:09 +05:30
Ankit Ranjan 14489fde71 refactor: remove audit logging toggle and cleanup associated CLI flags and logic 2026-04-29 13:25:30 +05:30
Ankit Ranjan 15f390d954 test: inject tmp_path and patch audit module in mock_ctx fixture 2026-04-29 13:16:00 +05:30
Ankit Ranjan 4055225a8d refactor: move audit logging to a global module and remove from context dependency injection 2026-04-29 13:04:54 +05:30
Ankit Ranjan 96b6999e2f fix: update audit log event type and add comprehensive unit tests for AuditLogger 2026-04-29 00:53:51 +05:30
beubax 156ecf0cbf feat: add support for dynamic URL templating using {base_url} in provider definitions and CLI 2026-04-27 17:12:13 +05:30
Manoj Bajaj b87eb9a502 Merge branch 'develop' of github.com:manojbajaj95/authsome into develop 2026-04-27 14:36:58 +05:30
beubax 0499c70a4f refactor: consolidate initialization logic into AuthsomeContext and remove legacy init command 2026-04-27 14:32:19 +05:30
Manoj Bajaj 0058f09cd6 feat: add --verbose and --log-file options to CLI with loguru sinks 2026-04-27 14:25:02 +05:30
Manoj Bajaj 2fe4c88d90 feat: silence authsome library logger by default (loguru best practice) 2026-04-27 14:20:16 +05:30
Manoj Bajaj bfd75eeae0 feat!: v0.2.0 — Vault + AuthLayer architecture, InputProvider, FlowResult
BREAKING CHANGE: Complete internal restructuring. All public Python API
has moved; CLI commands and flags are unchanged.

Architecture changes:
- Introduce Vault layer (vault/) — generic encrypted KV store; replaces
  store/ + crypto/ monolith. Compact AES-256-GCM format, LocalFile and
  Keyring backends.
- Introduce AuthLayer (auth/) — owns flows, token refresh, login/logout/
  revoke. Receives Vault + ProviderRegistry as deps; no direct crypto.
- Introduce AuthsomeContext (context.py) — thin wiring container
  replacing AuthClient as the CLI entry point.
- Move flows/ → auth/flows/, models/ → auth/models/,
  providers/ → auth/providers/. Delete store/, crypto/, client.py.

New features:
- InputProvider protocol: BridgeInputProvider, InteractiveInputProvider,
  MockInputProvider — replaces ad-hoc secure_input_bridge calls and
  simplifies test setup.
- FlowResult dataclass: flows now return FlowResult(connection,
  client_record) instead of a bare ConnectionRecord. DCR flow populates
  client_record only when it actually registered a new client.
- RequestRouter class removed; routing inlined as _route() module-level
  function in proxy/server.py. AuthProxyAddon takes only auth: AuthLayer.
- ConnectionRecord v2: tokens are plaintext str (Vault handles
  encryption at rest). Sensitive annotation marks fields for redaction.

Docs:
- docs/UBIQUITOUS_LANGUAGE.md: added Architecture Layers section (Vault,
  AuthLayer, AuthsomeContext, Sensitive); deprecated CredentialStore,
  CryptoBackend, EncryptedField.
- docs/manual-testing.md: end-to-end manual testing guide.

Tests reorganized under tests/auth/, tests/vault/, tests/proxy/,
tests/common/. 262 tests pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 13:15:05 +05:30