Customer Identity & Portal Authentication

customer_accounts in @open-mercato/core

Customer-facing authentication with two-tier identity model and full RBAC.

Ships with Open Mercato 0.9.0

On in a new app. Nothing to enable.

In an app from the empty preset

yarn mercato module enable @open-mercato/core --module customer_accounts

Then run yarn generate. Core is already installed, so nothing is downloaded.

Anatomy

ADDS 10 TABLES · 5 PERMISSIONS · EMITS 25 EVENTS

Data

  • customer_users
  • customer_roles
  • customer_role_acls
  • customer_user_roles
  • customer_user_acls
  • customer_user_sessions
  • customer_user_email_verifications
  • customer_user_password_resets
  • customer_user_invitations
  • domain_mappings

API

Routes are not listed for built-in modules.

Security

customer_accounts.

  • view
  • manage
  • roles.manage
  • invite
  • domain.manage

Events

  • emitscustomer_accounts.user.created
  • emitscustomer_accounts.user.updated
  • emitscustomer_accounts.user.deleted
  • emitscustomer_accounts.user.locked
  • emitscustomer_accounts.user.unlocked
  • emitscustomer_accounts.login.success
  • emitscustomer_accounts.login.failed
  • emitscustomer_accounts.magic_link.requested
  • emitscustomer_accounts.email.verified
  • emitscustomer_accounts.password.reset_requested
  • emitscustomer_accounts.password.reset
  • emitscustomer_accounts.password.changed
  • emitscustomer_accounts.role.created
  • emitscustomer_accounts.role.updated
  • emitscustomer_accounts.role.deleted
  • emitscustomer_accounts.user.invited
  • emitscustomer_accounts.invitation.accepted
  • emitscustomer_accounts.password_reset.requested
  • emitscustomer_accounts.domain_mapping.created
  • emitscustomer_accounts.domain_mapping.verified
  • subscribescustomer_accounts.user.created
  • subscribescustomers.person.created
  • subscribescustomer_accounts.domain_mapping.*
  • subscribescustomer_accounts.domain_mapping.activated
  • subscribescustomer_accounts.domain_mapping.dns_failed
  • subscribescustomer_accounts.domain_mapping.tls_failed
  • subscribescustomer_accounts.domain_mapping.verified
  • subscribescustomer_accounts.user.deleted
  • subscribescustomer_accounts.user.updated
  • subscribescustomers.company.deleted
  • subscribescustomers.person.deleted
  • +5 more

UI

  • 7 backend pages
  • 3 widgets

Background

  • 4 workers
  • 1 CLI command

Not present: AI tools.

Not read: credentials and env, hosts (not in module-facts.v2.json).

From module-facts.v2.json in @open-mercato/cli 0.9.0. Read statically, not executed.