emqx/apps/emqx_auth_http
z8674558 31cbb7aa97 Merge branch 'master' of github.com:emqx/emqx into merge-master 2021-05-25 12:50:50 +09:00
..
etc Merge branch 'master' of github.com:emqx/emqx into merge-master 2021-05-25 12:50:50 +09:00
include fix(auth http): using ehttpc (#4021) 2021-01-16 23:10:53 +08:00
priv docs(auth_http): Update config doc 2021-04-19 08:39:26 +02:00
src fix(auth-http): support content-type header env variable override 2021-05-07 10:14:19 +08:00
test test(emqx_auth_http): test ipv6 + hostname resolution 2021-04-28 10:43:36 +02:00
.gitignore refactor(proj): Add apps 2020-12-04 22:11:53 +01:00
README.md refactor(proj): Add apps 2020-12-04 22:11:53 +01:00
rebar.config Merge remote-tracking branch 'origin/master' into merge-master-to-dev/v5.0 2021-04-30 15:09:31 +02:00

README.md

emqx_auth_http

EMQ X HTTP Auth/ACL Plugin

Build

make && make tests

Configure the Plugin

File: etc/emqx_auth_http.conf

##--------------------------------------------------------------------
## Authentication request.
##
## Variables:
##  - %u: username
##  - %c: clientid
##  - %a: ipaddress
##  - %r: protocol
##  - %P: password
##  - %C: common name of client TLS cert
##  - %d: subject of client TLS cert
##
## Value: URL
auth.http.auth_req = http://127.0.0.1:8080/mqtt/auth
## Value: post | get | put
auth.http.auth_req.method = post
## Value: Params
auth.http.auth_req.params = clientid=%c,username=%u,password=%P

##--------------------------------------------------------------------
## Superuser request.
##
## Variables:
##  - %u: username
##  - %c: clientid
##  - %a: ipaddress
##  - %r: protocol
##  - %P: password
##  - %C: common name of client TLS cert
##  - %d: subject of client TLS cert
##
## Value: URL
auth.http.super_req = http://127.0.0.1:8080/mqtt/superuser
## Value: post | get | put
auth.http.super_req.method = post
## Value: Params
auth.http.super_req.params = clientid=%c,username=%u

##--------------------------------------------------------------------
## ACL request.
##
## Variables:
##  - %A: 1 | 2, 1 = sub, 2 = pub
##  - %u: username
##  - %c: clientid
##  - %a: ipaddress
##  - %r: protocol
##  - %m: mountpoint
##  - %t: topic
##
## Value: URL
auth.http.acl_req = http://127.0.0.1:8080/mqtt/acl
## Value: post | get | put
auth.http.acl_req.method = get
## Value: Params
auth.http.acl_req.params = access=%A,username=%u,clientid=%c,ipaddr=%a,topic=%t

Load the Plugin

./bin/emqx_ctl plugins load emqx_auth_http

HTTP API

200 if ok

4xx if unauthorized

License

Apache License Version 2.0

Author

EMQ X Team.