Skip to content
This repository has been archived by the owner on Apr 20, 2022. It is now read-only.

A HiveMQ Plugin which uses the Stormpath User Management API for easy to setup authentication and permission management of MQTT clients

License

Notifications You must be signed in to change notification settings

hivemq/hivemq-stormpath-plugin

Repository files navigation

Stormpath Plugin

Description

The Stormpath Plugin enables HiveMQ to use the Stormpath authentication and authorization API for the easy to setup authentication and authorization of MQTT clients. For this purpose the client credentials are stored Stormpath accounts and permissions configured as groups in Stormpath.

Stormpath is a user management API for developers, that handles: identity management, user management, and security for applications.

How to use the plugin with sample configuration

  1. Copy the jar file to your <HIVEMQ_HOME>/plugins folder

  2. Set the Stormpath properties in the stormpath.properties file

    1. Copy your apiKey.id and your apiKey.secret into the stormpath.properties

    2. Set your application name

  3. Run HiveMQ (Stormpath application and default path are created automatically)

  4. Setup your Stormpath application

    1. Create accounts to set the authentication credentials(Username and Password)

    2. Create groups and add your accounts to the these groups

    3. The name of each Group is defined as a permitted topic

  5. Connect with a MQTT client of your choice using the username and password set in Stormpath

  6. Done!

Note
This example shows how to setup your Stormpath application for the plugin.

Stormpath Setup

  1. If you don´t have a Stormpath account already, register and get an API key.

  2. Set your stormpath.properties. (See Table 1)

  3. Create a new account. (See Table 2)

  4. Create a new group named "testtopic/#".

  5. Add the DeviceA account to the testtopic/# Group.

  6. Connect with Username = DeviceA, Password = deviceA123.

  7. Now the Client can only publish or subscribe to topics starting with testtopic/#

Table 1. Stormpath properties.
stormpath.apiKey.id: stormpath.apiKey.secret: stormpath.application.name:

"your apikey id"

"your apikey secret"

HiveMQ

Table 2. Account.
Directory Username First Name Middle Name Last Name E-mail Password

HiveMQ Directory

DeviceA

Device

Type

A

[email protected]

deviceA123

Contributing

If you want to contribute to HiveMQ Stormpath Plugin, see the contribution guidelines.

License

HiveMQ Stormpath Plugin is licensed under the APACHE LICENSE, VERSION 2.0. A copy of the license can be found here.

About

A HiveMQ Plugin which uses the Stormpath User Management API for easy to setup authentication and permission management of MQTT clients

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages