Page Under Review
This documentation is currently under review and may contain incomplete or inaccurate information. Please verify all details before implementation.
Publish & Subscribe
Identities includes a built-in publish / subscribe system for sharing identity data between eConnect sites that don't share a database. A publisher exports a slice of identity data; subscribers at other sites pull that data into their local database and keep it in sync as it changes.
Typical use cases:
- A corporate headquarters maintains a master Watch List and pushes it to every property.
- A chain of locations shares a VIP / loyalty list so any site can recognize a returning customer.
- A central compliance team publishes a Banned collection that every property must honor.
Why Pub / Subβ
Identities servers are designed to run independently at each site β even when network links are unstable or firewalled. Pub / Sub solves the problem of "we want one set of people known everywhere" without requiring a shared database, a VPN, or manual CSV imports.
identities-pubsub-diagram.pngHow It Worksβ
Architecture at a Glanceβ
Under the hood, the sync uses three technologies in combination:
| Layer | Technology | Role |
|---|---|---|
| Transport | gRPC streaming | Bidirectional, authenticated channel between subscriber and publisher. |
| Message Bus | RabbitMQ | Internal event bus that carries identity changes inside each server. |
| Real-Time Push | SignalR (MessagePack) | Pushes updates to connected browser clients. |
All sensitive payloads (person IDs, collection IDs) are encrypted using AES with salts. Subscribers can only see the collections their token grants access to.
Permissionsβ
| Permission | Grants |
|---|---|
| Publishing Points β Publishing Point Administrator | Access to the Publish section β create, edit, and manage publishing points. |
| Subscriptions β Subscription Administrator | Access to the Subscribe section β create, edit, and manage subscriptions. |
Typically these are restricted to a small number of administrators; they are not day-to-day operator permissions.