ores.iam.core
Table of Contents
Summary
ores.iam.core provides identity and access management for ORE Studio:
user account lifecycle (creation, listing, deletion), secure password
authentication (scrypt), account locking on failed login attempts, session
and role management, and multi-tenancy / multi-party support. Business logic
is exposed as NATS message handlers in the 0x2000–0x2FFF range. A synthetic-
data generator produces test accounts for development and CI use.
Inputs
- NATS request messages from Qt clients and peer services (account CRUD, login, authorisation queries, bootstrap, reset) in the 0x2000–0x2FFF range.
- PostgreSQL connections to
ores_iam_*tables with temporal versioning.
Outputs
- Account, role, party, session, and tenant records persisted to the
ores_iamschema with bitemporal history. - Authentication tokens and session state returned to callers via NATS.
- NATS response messages for all IAM operations.
Entry points
include/ores.iam.core/ores.iam.hpp— aggregate include.include/ores.iam.core/messaging/registrar.hpp— registers all NATS handlers (account, auth, session, role, tenant, bootstrap, reset).include/ores.iam.core/service/account_service.hpp— account management entry point.include/ores.iam.core/service/authorization_service.hpp— authorisation and role-check entry point.
Dependencies
ores.iam.api— shared domain types and NATS protocol schemas.ores.dq— ORM base classes and data-quality infrastructure.rfl— JSON serialisation via reflection.soci— SQL ORM for PostgreSQL persistence.nats.c— NATS messaging client.libsodium/ scrypt — secure password hashing.
See also
- ores.iam — component group overview.
- ores.iam.api — protocol types and domain entities.
- ores.iam.service — NATS service entrypoint.
- ores.iam.client — client-side session and token-provider library.
- ores.iam Messaging Reference — full NATS subject and message catalogue.
- Multi-Tenancy Architecture — tenant isolation and bootstrap design.
- Multi-Party Login Flow — multi-party authentication sequence.
- IAM Account — account entity design and state transitions.
