Commit Graph

54 Commits

Author SHA1 Message Date
nexgen_mirrors 51b89fb885 refactor(auth): remove redirect_uri from OAuth flow initiation
Remove redirect_uri parameter from initiate_login_flow,
initiate_register_flow, and initiate_link_flow functions.
2026-04-06 23:50:20 +09:30
coryHawkvelt 6325d60097 feat(email): use HTML templates for all transactional emails
- Update org invite, password reset, email verification, and account activation emails to use HTML templates
- Update MFA deadline reminder and suspension notifications to use HTML templates
- Add html_body parameter to _send_email_async for rich email content
2026-04-05 15:44:22 +00:00
coryHawkvelt f2386ed1da fix(docker): align database config between docker-compose and .env
- Move POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB to .env
- Update docker-compose.yml to reference env vars instead of hardcoding
- Fix db healthcheck to use correct credentials from .env
- Update .env.example with matching placeholder values
- Update DATABASE_URL to use variable interpolation
2026-04-05 13:58:48 +00:00
HawkveltGiteaAdmin f1a6e40319 Merge pull request #19 from CoryHawkless/email-uplift
Email uplift
2026-04-05 14:18:06 +09:30
nexgen_mirrors 41bbdb4bef feat(email): add provider abstraction and HTML templates
Add pluggable email provider system supporting SMTP, Mailgun, and SendGrid
with factory pattern for runtime provider selection. Includes branded HTML
email templates for verification, password reset, MFA notifications, and
organization invites.

Also rebrands all email content from Gatehouse to Secuird, adds email
provider configuration options, and fixes duplicate log handlers in
development mode.
2026-04-04 16:55:00 +10:30
nexgen_mirrors d90a06437e feat(docker): add Docker deployment configuration
Add production-ready Docker setup with multi-stage Dockerfile, docker-compose
orchestration for API, PostgreSQL, Redis, and Nginx services. Includes
health checks, non-root user execution, and proper networking.

- Add multi-stage Dockerfile with gunicorn/gevent workers
- Add docker-compose.yml with api, db, redis, nginx services
- Add nginx reverse proxy configuration with security headers
- Update .env.example with Docker and production variables
- Add email provider configuration (Mailgun, SendGrid)
- Add requests dependency for HTTP client support
- Update documentation with Docker deployment guide
- Rebrand project name from Gatehouse to Secuird
2026-04-04 16:51:19 +10:30
nexgen_mirrors 2f2a20adfb refactor(db): consolidate migrations into single initial migration
Replace 35 incremental migration files with one comprehensive initial
migration that captures the complete database schema. This simplifies
the migration history and eliminates complex dependency chains between
migrations.

The new migration (6a4c4ed4a5c6) includes all tables for:
- Users, organizations, and authentication
- SSH CA and certificate management
- ZeroTier network integration
- OIDC/OAuth providers
- Security policies and audit logging
2026-04-04 16:50:48 +10:30
nexgen_mirrors 6e96bdde81 chore: update gitignore to exclude opencode and swarm files
Add patterns for .opencode/, .swarm/, and SWARM_PLAN.* to gitignore.
Remove tracked flask_session binary file.
2026-04-03 23:53:29 +10:30
HawkveltGiteaAdmin 2036938c1d Merge pull request #13 from jamesii-b/gatehouse/secuird-CA-merge-v2.01
Gatehouse/secuird ca merge v2.01
2026-04-03 10:18:10 +10:30
JamesBhattarai 78c2ee5c5a Feat:Added Update Client 2026-03-31 13:45:07 +05:45
JamesBhattarai 2b6f7e15af Feat(Fix): Multi-Tenant Zerotier Org Setups
Imports Network From Zerotier
Async Emails
Migration guardrails
Admin to see all approvals states
2026-03-31 12:33:56 +05:45
JamesBhattarai 05eb092228 Fix: DB Migration 2026-03-31 12:33:56 +05:45
JamesBhattarai a7915c9328 Fix: SSH key verification — accept raw armor + base64, clearer error messages 2026-03-22 16:06:14 +05:45
JamesBhattarai 42ff4f2f4f Fix: Migration Heads 2026-03-22 16:06:14 +05:45
JamesBhattarai f334000da3 Feat: Implemented SUDO Department & API Key, CA Serial 2026-03-22 16:06:12 +05:45
JamesBhattarai ff976ee1cc Fix: Serial uniqueness 2026-03-22 16:05:52 +05:45
JamesBhattarai 7492c40668 Fix: Admin Expiry Hours 2026-03-22 16:05:52 +05:45
JamesBhattarai 16d04bd5f7 Chore: Setup and Env 2026-03-22 16:04:29 +05:45
nexgen_mirrors 1789590167 feat(zerotier): add ZeroTier network governance module
Add comprehensive ZeroTier integration for managing network access:

- Portal networks: manager-created ZeroTier network bindings
- Device registration: user-owned ZeroTier node endpoints
- Approval workflows: request/approve/revoke network access
- Activation sessions: time-limited network authorization
- Kill switch: emergency access revocation
- Reconciliation job: sync portal state with ZeroTier controller

Includes ZeroTier client SDK supporting both Central and self-hosted
controller APIs, with full CRUD operations for networks and members.
2026-03-20 21:50:20 +10:30
HawkveltGiteaAdmin 49e724222f Merge pull request #7 from jamesii-b/gatehouse/secuird-CA-merge-v2.01
Gatehouse/secuird ca merge v2.01
2026-03-05 16:55:58 +10:30
JamesBhattarai cc9dc5064e Fix: Migration
oidc_jwks_keys table doesn't exist
uix_org_provider_type constraint multiple use
transaction abort/never rolled back
2026-03-05 11:35:09 +05:45
JamesBhattarai 7cb522b590 Feat(Chore, Fix): Refractor, Half Baked Deletion + Admin Privilege
Refractor Codes into sub file/folders
Admin can remove users'/members mfa/2fa, unlink account from  oauth provider
Admin can  add/reset password
Different Email (OIDC + Manual)-Same Account; (Block Linking and authorize if available)
2026-03-04 18:49:04 +05:45
JamesBhattarai ea1bacc794 Fix: Deletion Deadlocks (Owner, User) 2026-03-03 23:22:50 +05:45
JamesBhattarai 34f2dc070c Fix: CA host Sign via web 2026-03-03 18:02:45 +05:45
HawkveltGiteaAdmin 98350323a5 Merge pull request #2 from jamesii-b/gatehouse/secuird-CA-merge-v2.01
Gatehouse with secuird CA Merge (Gatehouse Isolated)
2026-03-03 13:52:52 +10:30
JamesBhattarai 5250d18eb0 Fix(Feat): CA, Audits, Rte Limit
CA Encryption, Serials, Rate Limiter, Account suspension blocks login
Transfer Ownership & Delete Account
2026-03-02 23:53:51 +05:45
JamesBhattarai be87fd90b1 Feat(Fix): CA manage Host/User Key 2026-03-01 20:42:48 +05:45
JamesBhattarai 9875216861 Feat(Fix): User & Org Setup Initial (Invite + Create on own) & Fix: User Suspension 2026-03-01 20:42:48 +05:45
JamesBhattarai a0d4e59c24 Feat(Chore): Verify Flow, Invites, Suspend, Depart Cert Policy
feat: add password reset and email verification flow
feat: add org invite listing, cancellation, and invite link fallback
feat: add user suspend/unsuspend with audit logging
feat: add department certificate policy (expiry, extensions)
feat: enforce dept cert policy on SSH certificate signing
feat: wire up OIDC consent and token flow (replace mocks)
feat: rework CLI auth bridge to use frontend login flow
feat: add admin OAuth provider management (CRUD)
chore: refactor model import paths after module reorganisation
chore: clean up config, decorators, and dev tooling
2026-03-01 20:42:48 +05:45
JamesBhattarai 07193a2d2e Chore: Refractor Models into organized file/folder 2026-03-01 20:42:48 +05:45
James Bhattarai 58432da1c8 Merge branch 'CoryHawkless:main' into gatehouse/secuird-CA-merge-v2.01 2026-02-28 23:48:54 +05:45
JamesBhattarai e79c584c50 Feat(Fix): Key Timezone, Expiry, Depart Link 2026-02-28 23:48:07 +05:45
JamesBhattarai 8fdc362216 Chore(Fix): Package dependency 2026-02-28 19:19:42 +05:45
JamesBhattarai b2212ab4d6 Feat: Added CA-merged with Securid-Principals, Depart, Client-CLI 2026-02-27 21:59:01 +05:45
JamesBhattarai 92fd57447d Chore(Feat): added principal,depart RBAC 2026-02-27 10:03:05 +05:45
HawkveltGiteaAdmin d5a32cd59f Merge pull request #1 from jamesii-b/oidc/v1.01
Feat: OIDC UI bridge, Microsoft SSO,, and schema session flaws
2026-02-27 14:35:58 +10:30
JamesBhattarai c623824738 Chore(Feat): added gatehouse-cli 2026-02-27 07:48:55 +05:45
JamesBhattarai 1ba5738d52 Feat: OIDC UI bridge, Microsoft SSO,, and schema session flaws
- OAuth Callback to Use Gatehouse UI to login instead of Backend Served dull ui
- Setup Autoregister of user + org, on oauth
- Microsoft Oauth Support
- OIDCRefreshToken.access_token_id  had a narrow Column increased to VAR(255) and remove FK to sessions.id which had no use
- client_id and client.id mismatch ,backup-code consumption
2026-02-26 23:18:31 +05:45
nexgen_mirrors f1fff22f3e tidy up 2026-02-23 13:25:17 +10:30
nexgen_mirrors cbdf6185b6 remove junk 2026-02-23 13:25:05 +10:30
coryHawkvelt 7637d7df45 migrations 2026-01-28 14:20:48 +10:30
coryHawkvelt ae2421763a google login works 2026-01-21 03:09:46 +10:30
coryHawkvelt 4cf4a27c9a can link google accounts! 2026-01-20 15:54:00 +10:30
coryHawkvelt 900722d695 Force mfa if enabled at login 2026-01-16 17:51:04 +10:30
coryHawkvelt d063a0ca81 enable policies 2026-01-16 17:31:20 +10:30
coryHawkvelt b2e084db33 fix(webauthn): ensure provider_data JSON changes are detected by SQLAlchemy
Add flag_modified() calls after modifying provider_data dictionary to
explicitly mark the field as changed. SQLAlchemy does not automatically
track mutations to JSON fields, which could result in changes not being
persisted to the database.
2026-01-16 11:34:40 +10:30
coryHawkvelt af0281281a web authn working! 2026-01-16 11:25:27 +10:30
coryHawkvelt 2c0aaf484b move app to gatehouse-app 2026-01-15 03:40:29 +10:30
coryHawkvelt 5e4cffcf73 functional totp 2026-01-14 18:06:26 +10:30
coryHawkvelt cfd79190ee feat(auth): implement TOTP two-factor authentication with enrollment and verification
Adds TOTP (Time-based One-Time Password) two-factor authentication support including:
- New TOTP service with secret generation, QR code provisioning, and code verification
- New auth endpoints for enrollment, verification, status, and backup code management
- New TOTP authentication method type and user methods for TOTP management
- Backup codes generation and verification for account recovery
- Updated OIDC endpoints with timezone-aware datetime handling and RFC-compliant responses
- Added "roles" scope support for OIDC userinfo and ID tokens
- New pyotp dependency for TOTP operations
- Comprehensive unit tests for TOTP service
2026-01-14 18:06:17 +10:30