Skip to main content

Overview

Authentication ensures that only trusted users, services, and devices can connect to MAPS Messaging.
It provides a flexible framework where different protocols and interfaces can use different authentication methods, depending on your security needs.


Key Principles

  • Pluggable providers — choose the right backend (built-in, LDAP, Cognito, etc.) for your deployment.
  • Per-interface control — each listener (MQTT, AMQP, NATS, REST, etc.) can reference a different authentication policy.
  • Protocol-aware — works consistently across MQTT, AMQP, NATS, STOMP, CoAP, and REST.
  • Separation of concerns — authentication is configured once, then referenced by name, avoiding duplication.

Supported Authentication Methods

MAPS supports a wide range of authentication providers:

  • Built-in authentication (local users & roles)
  • Apache .htpasswd / .htgroup files
  • Unix / system accounts
  • LDAP / Active Directory
  • Auth0 (OIDC)
  • AWS Cognito (OIDC / JWT)
  • Certificate-based (mTLS) — client certificate validation

Per-Interface Flexibility

Authentication can be specified per interface.
For example, you might run:

  • NATS open to anonymous clients for internal testing
  • MQTT over TLS with username/password for IoT devices
  • REST API with OIDC integration (Auth0 or Cognito)
  • AMQP with LDAP for enterprise integration

This makes it possible to mix and match authentication methods within the same server instance.


Choosing the Right Method

ScenarioRecommended method
Local test setups, simple labsBuilt-in auth
Reuse existing Apache setups.htpasswd / .htgroup
Tight OS-level controlUnix system accounts
Enterprise identity managementLDAP / Active Directory
SaaS / cloud identityAuth0
AWS-native environmentsAWS Cognito
High-security device identityCertificate-based (mTLS)