How tg11-org/tg11accounts works
TG11 Accounts is an identity provider for the TG11/VulpFin ecosystem. A person registers or signs in through the account web app; its account and MFA logic maintains identity and sessions, then the OIDC provider handles client authorization, consent, and token issuance. The account hub also manages profiles, linked applications, entitlements, payments, and encrypted credentials. A separate Django package acts as a relying party: it starts OIDC login, validates the callback, and links the TG11 identity to a local account. Edges reflect README statements and source-index references; unsampled subsystem details and some runtime wiring are not asserted.
Main entry points: web.py Account web app · profile.py Profile and account APIs · accounts.py Accounts and sessions · models.py Identity database
Components 20
Identity and sessions
- Account web app
tg11/web.py - Accounts and sessions
tg11/accounts.py - Multi-factor auth
tg11/mfa.py - Identity database
tg11/models.py
OIDC provider
- OIDC provider core
tg11/oidc.py
Account hub
- Profile and account APIs
tg11/profile.py
Account capabilities
- Entitlements and credits
tg11/entitlements.py - Payments
tg11/payments.py - Credential vault
tg11/vault.py - Cryptography
tg11/crypto.py - SMS verification
tg11/sms.py
Django relying party
- Django login views
clients/django/tg11_auth/views.py - OIDC relying-party client
clients/django/tg11_auth/client.py - Local identity linking
clients/django/tg11_auth/services.py - Django identity links
clients/django/tg11_auth/models.py
Other components
- Person
- OIDC client apps
- SMTP mail service
- Twilio SMS
- Payment providers
Connections 25
- Person → Account web app: uses account pages
README.md - Account web app → Accounts and sessions: handles sign-in
tg11/web.py - Account web app → Multi-factor auth: uses MFA
tg11/web.py - Account web app → OIDC provider core: serves OIDC
tg11/web.py - Account web app → Profile and account APIs: mounts account hub
tg11/web.py - Accounts and sessions → Identity database: manages identity state
tg11/accounts.py - Account web app → Identity database: loads user sessions
tg11/web.py - Multi-factor auth → Identity database: stores factor state
tg11/mfa.py - Multi-factor auth → Cryptography: uses cryptography
tg11/mfa.py - OIDC provider core → Identity database: issues and validates tokens
tg11/oidc.py - OIDC client apps → Account web app: requests authorization
README.md - Profile and account APIs → Accounts and sessions: uses account services
tg11/profile.py - Profile and account APIs → Entitlements and credits: uses entitlement rules
tg11/profile.py - Profile and account APIs → Payments: manages wallet
tg11/profile.py - Profile and account APIs → Credential vault: manages credentials
tg11/profile.py - Profile and account APIs → SMS verification: uses SMS verification
tg11/profile.py - Credential vault → Cryptography: encrypts credentials
tg11/vault.py - Payments → Payment providers: integrates providers
README.md - SMS verification → Twilio SMS: sends messages
- Person → Django login views: starts app login
README.md - Django login views → OIDC relying-party client: starts and exchanges flow
clients/django/tg11_auth/views.py - Django login views → Local identity linking: maps validated claims
clients/django/tg11_auth/views.py - Local identity linking → Django identity links: creates identity link
clients/django/tg11_auth/services.py - OIDC relying-party client → OIDC client apps: performs OIDC requests
README.md - Accounts and sessions → SMTP mail service: sends account mail