All Projects → emqx → Emqx Auth Redis

emqx / Emqx Auth Redis

Licence: apache-2.0
EMQ X Redis Authentication/ACL Plugin

Programming Languages

erlang
1774 projects

Labels

Projects that are alternatives of or similar to Emqx Auth Redis

Hubot Env
Hubot manages environment variables in process.env and redis via commands
Stars: ✭ 10 (-64.29%)
Mutual labels:  redis
Ssm redis template
An template based on Maven, using Spring + Spring MVC + mybatis + spring-data-redis frames. It can be used to construct a new Java Web Appliaction quickly
Stars: ✭ 13 (-53.57%)
Mutual labels:  redis
Spring Security Rbac Jwt
springboot2项目的脚手架工程(包含security + jwt方式的动态权限校验)
Stars: ✭ 21 (-25%)
Mutual labels:  redis
Mysql redis replication
MySQL replication to Redis cache server via Ruby, Gearman, triggers, and MySQL UDF (Ubuntu version)
Stars: ✭ 10 (-64.29%)
Mutual labels:  redis
Tutorial Graphql Subscriptions Redis
GraphQL server implementation with Redis backing allowing pubsub
Stars: ✭ 12 (-57.14%)
Mutual labels:  redis
Go Demo
Go语言实例教程从入门到进阶,包括基础库使用、设计模式、面试易错点、工具类、对接第三方等
Stars: ✭ 881 (+3046.43%)
Mutual labels:  redis
Cpp redis
C++11 Lightweight Redis client: async, thread-safe, no dependency, pipelining, multi-platform - NO LONGER MAINTAINED - Please check https://github.com/cpp-redis/cpp_redis
Stars: ✭ 855 (+2953.57%)
Mutual labels:  redis
Docker Compose Nodejs Examples
Finally some real world examples on getting started with Docker Compose and Nodejs
Stars: ✭ 944 (+3271.43%)
Mutual labels:  redis
Javaok
必看!java后端,亮剑诛仙。java发展路线技术要点。
Stars: ✭ 867 (+2996.43%)
Mutual labels:  redis
Delay Queue
延迟队列
Stars: ✭ 884 (+3057.14%)
Mutual labels:  redis
Unredis
Redis Monitoring tool written in Golang and React.js
Stars: ✭ 11 (-60.71%)
Mutual labels:  redis
Metta
An information security preparedness tool to do adversarial simulation.
Stars: ✭ 867 (+2996.43%)
Mutual labels:  redis
Redis Ratelimit
A fixed window rate limiter based on Redis
Stars: ✭ 15 (-46.43%)
Mutual labels:  redis
Netkiller.github.io
Netkiller Free ebook - 免费电子书
Stars: ✭ 861 (+2975%)
Mutual labels:  redis
Geoip redis
Put MaxMind GeoIP database to Redis
Stars: ✭ 21 (-25%)
Mutual labels:  redis
Redisbloom
Probabilistic Datatypes Module for Redis
Stars: ✭ 858 (+2964.29%)
Mutual labels:  redis
Activemq
高性能消息监控无服务器,使用ActiveMQ消息中间件实现,使用MQ、redis、nlog 等技术实现
Stars: ✭ 13 (-53.57%)
Mutual labels:  redis
Webpersonal
WebPersonal 是基于 Spring Boot + Vue Admin Template 搭建的个人网站,采用Docker容器化部署。包括个人简历、权限管理、相册等功能,持续更新,您的 Star⭐,就是我最大的动力(●'◡'●)
Stars: ✭ 28 (+0%)
Mutual labels:  redis
Bibi
An e-commerce fullstack solution for Flask 出口电商全栈解决方案
Stars: ✭ 914 (+3164.29%)
Mutual labels:  redis
Treefrog Framework
TreeFrog Framework : High-speed C++ MVC Framework for Web Application
Stars: ✭ 885 (+3060.71%)
Mutual labels:  redis

emqx_auth_redis

EMQ X Redis Authentication/ACL Plugin

Build Plugin

make && make tests

Configure Plugin

File: etc/emqx_auth_redis.conf

## Redis server address.
##
## Value: Port | IP:Port
##
## Redis Server: 6379, 127.0.0.1:6379, localhost:6379, Redis Sentinel: 127.0.0.1:26379
auth.redis.server = 127.0.0.1:6379

## redis sentinel cluster name
## auth.redis.sentinel = mymaster

## Redis pool size.
##
## Value: Number
auth.redis.pool = 8

## Redis database no.
##
## Value: Number
auth.redis.database = 0

## Redis password.
##
## Value: String
## auth.redis.password =

## Authentication query command.
##
## Value: Redis cmd
##
## Variables:
##  - %u: username
##  - %c: clientid
##
## Examples:
##  - HGET mqtt_user:%u password
##  - HMGET mqtt_user:%u password
##  - HMGET mqtt_user:%u password salt
auth.redis.auth_cmd = HMGET mqtt_user:%u password

## Password hash.
##
## Value: plain | md5 | sha | sha256 | bcrypt
auth.redis.password_hash = plain

## sha256 with salt prefix
## auth.redis.password_hash = salt,sha256

## sha256 with salt suffix
## auth.redis.password_hash = sha256,salt

## bcrypt with salt prefix
## auth.redis.password_hash = salt,bcrypt

## pbkdf2 with macfun iterations dklen
## macfun: md4, md5, ripemd160, sha, sha224, sha256, sha384, sha512
## auth.redis.password_hash = pbkdf2,sha256,1000,20

## Superuser query command.
##
## Value: Redis cmd
##
## Variables:
##  - %u: username
##  - %c: clientid
auth.redis.super_cmd = HGET mqtt_user:%u is_superuser

## ACL query command.
##
## Value: Redis cmd
##
## Variables:
##  - %u: username
##  - %c: clientid
auth.redis.acl_cmd = HGETALL mqtt_acl:%u

SuperUser

HSET mqtt_user:<username> is_superuser 1

User Hash with Password Salt

Set a 'user' hash with 'password' 'salt' field, for example:

HMSET mqtt_user:<username> password "password" salt "salt"

User Set with Password

Set a 'user' Set with 'password' field for example:

HSET mqtt_user:<username> password "password"

ACL Rule Hash

The plugin uses a redis hash to store ACL rules:

HSET mqtt_acl:<username> topic1 1
HSET mqtt_acl:<username> topic2 2
HSET mqtt_acl:<username> topic3 3

NOTE: 1: subscribe, 2: publish, 3: pubsub

Subscription Hash

NOTICE: Move to emqx_backend_redis...

The plugin could store the static subscriptions into a redis Hash:

HSET mqtt_sub:<username> topic1 0
HSET mqtt_sub:<username> topic2 1
HSET mqtt_sub:<username> topic3 2

Load Plugin

./bin/emqx_ctl plugins load emqx_auth_redis

Author

EMQ X Team.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].