Commit Graph

369 Commits

Author SHA1 Message Date
JimMoen 15ef9892c5 fix(auth): authn & authz http support placeholder in HTTP path 2022-04-29 12:48:00 +08:00
JimMoen dae418ae4a fix(auth): authn & authz http not required `body` field 2022-04-29 12:47:56 +08:00
JimMoen e4826400b8 fix(auth): authn & authz HTTP haeders without `content-type` via GET method 2022-04-29 12:47:52 +08:00
Zaiming (Stone) Shi 4e65322667 refactor: move emqx_plugin_libs_metrics to emqx app
because it can not depend on other apps
2022-04-29 12:41:36 +08:00
zhouzb afe526ba67
Merge pull request #7789 from tigercl/chore/authn-fields
chore: rename certificate in jwt and selector in mongodb, remove pool_size in jwks
2022-04-29 10:14:06 +08:00
DDDHuang 778973b2de
Merge pull request #7791 from DDDHuang/auto_failed_connector
fix: disconnected status in auto_reconnect = false
2022-04-29 09:30:16 +08:00
Zaiming (Stone) Shi 638b7195d4
Merge pull request #7804 from HJianBo/not-allow-empty-claims
fix(authn-jwt): avoid to save empty claim name
2022-04-28 14:10:45 +01:00
EMQ-YangM 56761ecb74 fix: remove duplicated create_metrics 2022-04-28 16:20:38 +08:00
EMQ-YangM 51e025f075 fix: remove duplicated code 2022-04-28 16:10:47 +08:00
EMQ-YangM 4365de9ad5 fix: format code 2022-04-28 15:39:08 +08:00
DDDHuang 2a2308bbf8 refactor: resource check & connector status 2022-04-28 15:32:35 +08:00
EMQ-YangM 6530604f40 fix: add authn authz metrics supervisor 2022-04-28 14:38:45 +08:00
EMQ-YangM 098598a0be fix: add resource_metrics, node_resource_metrics 2022-04-28 12:43:55 +08:00
EMQ-YangM 2a7bd74ef1 feat: authn add new metrics 2022-04-28 11:16:45 +08:00
JianBo He 6535eb879c fix(authn-jwt): avoid to save empty claim name
An empty claim_name has not a real meaning and will result in a
syntax error cluster_override.conf. i.e:
```
authentication {
  mechanism = "jwt"
  verify_claims { = "22"}
  ...
}
```
2022-04-28 08:34:04 +08:00
zhouzb fa9bd74595 chore: rename selector to filter and fix spellcheck 2022-04-27 11:29:18 +08:00
zhouzb c384ae2534 chore: rename certificate in jwt to public_key, delete pool_size in jwks authn 2022-04-27 11:29:16 +08:00
firest 2e3033c539 fix(authn): Add support for query by is_superuser to the mensia backend 2022-04-26 14:29:48 +08:00
Ilya Averyanov fc2ea9e484 feat(emqx_auth_jwt): use JWT for ACL checks 2022-04-25 11:59:04 +03:00
EMQ-YangM 2d553d711f fix: 'ComFun' missing parameter 2022-04-25 11:38:48 +08:00
JimMoen e9843aa225 fix(doc): html line break use `</br>` 2022-04-24 18:56:21 +08:00
Yang Miao 4a43a10296
Merge pull request #7701 from EMQ-YangM/improve_docs
fix: improve document quality
2022-04-22 16:52:09 +08:00
JimMoen 86c38d283d docs: authn i18n zh_CN support 2022-04-22 10:40:34 +08:00
EMQ-YangM ad2ed178a6 test: fix authn redis_type field 2022-04-21 22:56:27 +08:00
DDDHuang 7417e5070d fix: perpare sql when connector doing init; add prepare statement field; bad log path 2022-04-21 16:00:15 +08:00
DDDHuang 365ca67078 fix: auth mysql prepare query 2022-04-21 16:00:15 +08:00
DDDHuang 039619ee23 feat: authz & authn mysql resource support prepare sql query 2022-04-21 16:00:15 +08:00
JianBo He 99bcf5a69f
Merge pull request #7656 from HJianBo/support-disable-salt
feat(authn): support disable salt
2022-04-20 15:29:22 +08:00
JimMoen c67e565755 fix(authn): merge default header after check config 2022-04-19 18:57:01 +08:00
JimMoen 88c98bb310 fix(authn): api required fields 2022-04-19 18:57:01 +08:00
JimMoen 93dd7d46c5 refactor: fields `meta` ref to dashboard_swagger 2022-04-19 18:57:01 +08:00
Zaiming (Stone) Shi fb7c7dffb7
Merge pull request #7527 from zmstone/0405-5.0-provide-defaults-for-ssl-files
5.0 provide defaults for ssl files
2022-04-19 11:51:39 +01:00
Ilya Averyanov ef83a80234
Merge pull request #7613 from savonarola/fetch-jwk-safe
chore(emqx_authn_jwt): wrap JWKS connector into emqx_resourse
2022-04-19 13:48:51 +03:00
Zaiming (Stone) Shi c71302ae27 refactor(ssl): show file paths for SSL certs in dashboard 2022-04-19 08:43:37 +02:00
JianBo He 75f6484032 feat(authn): support disable salt 2022-04-19 09:29:56 +08:00
JimMoen 9e4b9c6689 refactor: mgmt rm `generate_response/1` 2022-04-19 01:20:57 +08:00
Ilya Averyanov e5f04f3bf7 chore(emqx_authn_jwt): wrap JWKS connector into emqx_resourse 2022-04-18 15:47:33 +03:00
DDDHuang c777759707 chore: some code format 2022-04-16 16:37:10 +08:00
DDDHuang e22d01d25f fix: page & limit & pool_size pos_integer; some bad spelling 2022-04-16 16:37:10 +08:00
DDDHuang bf827cffa8 fix: authn bad examples 2022-04-13 16:16:13 +08:00
JianBo He 7954f32858 chore: remove scram authenticator for all gateway 2022-04-12 16:13:55 +08:00
Ilya Averyanov f5d0e8ce84 chore(emqx_authn): update examples 2022-04-11 14:42:17 +03:00
JianBo He 0fb758916f
Merge pull request #7492 from lafirest/test/gateway_authn
test(gateway): integration gateway test with  authn
2022-04-08 16:05:36 +08:00
firest 786be82d07 test(gateway): optimize test codes organization 2022-04-07 16:53:10 +08:00
Zaiming (Stone) Shi 356fbf6ce1
Merge pull request #7519 from zmstone/0405-5.0-sync-ssl-lib-from-4.3
5.0 refactor: delete deprecated emqx_plugin_libs_ssl module
2022-04-05 22:57:56 +01:00
Zaiming (Stone) Shi bc5692efd4 fix(emqx_authn_api): return file path if does not exist 2022-04-05 23:02:14 +02:00
ieQu1 8df76da9ac chore(formatting): Fix formatting of modules, authz and authn 2022-04-05 11:01:53 +02:00
ieQu1 99b3f2f83e docs(schema): Document missing records and fields 2022-04-04 23:58:43 +02:00
Thales Macedo Garitezi c0d2243e72
refactor(telemetry): move authn/authz info fns to their own apps 2022-04-01 09:27:52 -03:00
JianBo He 3022ee081d style(authn): reformat authn subdir source files 2022-04-01 09:55:02 +08:00
JimMoen aae2d01582 style: erlfmt apps/emqx_authn 2022-04-01 02:19:46 +08:00
ieQu1 edb91e2e4a docs(schema): Add descriptions for authZ and connector 2022-03-30 13:01:01 +02:00
JimMoen 9554255449 fix(authn): fix delete authn redis crashed 2022-03-28 10:56:11 +08:00
EMQ-YangM a34e750ebe fix: unify http response code for auhtn & authz 2022-03-21 14:16:52 +08:00
EMQ-YangM 339e459589 fix(emqx_authn): disable invalid_dynamic_call
cc

aa
2022-03-18 17:07:56 +08:00
EMQ-YangM d1857ba454 feat: add authn, authz status api 2022-03-18 14:36:33 +08:00
EMQ-YangM 37c4d68f40 fix: ignore authn, authz status and metrics 2022-03-16 11:14:21 +08:00
EMQ-YangM eb5570dd07 fix: disable authn_api, authz_api_sources swagger spec 2022-03-16 10:16:50 +08:00
JimMoen a084376f3d feat(authn): enhanced authn users fuzzy searching 2022-03-15 15:14:14 +08:00
JimMoen 02ed2148d7 refactor: move api `top` -> `front`, `bottom` -> `rear` 2022-03-15 10:28:46 +08:00
JimMoen e96bbf5c8b refactor(authn_api): add 'after related' for move api 2022-03-15 10:28:46 +08:00
EMQ-YangM b33b3f6eee fix: reduce status_and_metrics 2022-03-14 10:21:51 +08:00
Xinyu Liu 3cf18a293d
Merge pull request #7271 from EMQ-YangM/add_metrics_and_status_to_authn
feat(emqx_authn_api): add metrics and status to authn
2022-03-11 19:21:44 +08:00
EMQ-YangM b7a9f1e087 fix(emqx_map_lib): fix static checks errors 2022-03-11 15:56:14 +08:00
JianBo He 85d1a4f9bf
Merge pull request #7263 from HJianBo/fix-auth-jwt
fix(authn-jwt): accept the pem conntet to create jwk authenticator
2022-03-11 15:06:43 +08:00
EMQ-YangM 8af7131a49 fix(emqx_autn_api): wo do not need fixpoint 2022-03-11 14:18:50 +08:00
EMQ-YangM 7165fbc5ca fix(emqx_authn_api): fix elvis error 2022-03-11 14:18:50 +08:00
EMQ-YangM 48b167bf46 test(emqx_authn): add status and metrics test to emqx_authn_api 2022-03-11 14:18:50 +08:00
EMQ-YangM dce602c251 fix(emqx_authn_api): format metrics and status 2022-03-11 14:18:15 +08:00
EMQ-YangM a03f324010 feat(emqx_authn_api): add metrics and status to authn 2022-03-11 14:18:15 +08:00
JimMoen f5caf66253 refactor(api): unified api name style 2022-03-11 11:07:55 +08:00
JianBo He 333f170a30 fix(authn-jwt): accept the pem conntet to create jwk authenticator 2022-03-11 09:19:24 +08:00
JimMoen 93c74bd645
Merge pull request #7225 from JimMoen/authn-authz-mnesia-fuzzy-searching
authn and authz mnesia searching by `clientid` or `username`
2022-03-10 17:00:36 +08:00
Shawn 1d023b541f refactor(connnector): rename waiting_connect_complete -> wait_for_resource_ready
Rename the option to wait_for_resource_ready and defaults to 5s.
2022-03-10 10:46:57 +08:00
JimMoen 593e1a3efb feat(authn): authn mnesia rows fuzzy searching by `clientid` or `username` 2022-03-10 10:01:40 +08:00
EMQ-YangM 583624fb8d fix(emqx_authn): fix test suite 2022-03-09 13:53:05 +08:00
EMQ-YangM 57adbab5ea fix(emqx_authn): fix authn suite status 2022-03-08 14:09:39 +08:00
EMQ-YangM d99db4ebfa fix(emqx_authn): add default wait_connected 2022-03-08 14:09:39 +08:00
Zhongwen Deng db584f79d6 feat: upgrade hocon to 0.25.0 to replace nullable with required. 2022-02-24 22:39:03 +08:00
Zhongwen Deng 9f9bf059b9 fix(schema): remove unuse to_bin function; simplify body schema. 2022-02-21 23:02:49 +08:00
JimMoen ff68e2a20f fix(http): connector and authn/authz http `keep-alive` default 30s , max 1000 2022-02-21 16:35:15 +08:00
Zaiming (Stone) Shi 64db085163 chore: EMQ X -> EMQX in source code 2022-02-16 22:08:12 +01:00
Zaiming (Stone) Shi 0528262705 chore(app.src): EMQ X -> EMQX in .app.src files 2022-02-16 17:51:45 +01:00
Yang Miao 78cad0a528
Merge pull request #6989 from EMQ-YangM/up_master
refactor(emqx_resource): Improve grouping strategy for emqx_resource_instance
2022-02-16 16:26:28 +08:00
JimMoen ab7c2b72e3 refactor(connector): db connector provide default port 2022-02-15 00:51:48 +08:00
EMQ-YangM 580901b678 fix(emqx_authn): fix create api 2022-02-11 18:36:55 +08:00
Shawn 8207090419 fix: format the code to remove extra spaces 2022-02-09 18:46:49 +08:00
Zaiming (Stone) Shi d6f7ffec3c
Merge pull request #6881 from zmstone/refactor-upgrade-hocon-0.23.0
refactor: upgrade to hocon 0.23.0
2022-01-27 15:48:23 +01:00
Kian-Meng Ang fc92e4c8bf docs: fix typos 2022-01-27 12:29:38 +01:00
Zaiming (Stone) Shi 252d7e85d9 refactor: call new hocon apis 2022-01-27 00:23:08 +01:00
Ilya Averyanov 6441978b08 refactor(authn,authz): unify variable interpolation 2022-01-25 20:54:12 +03:00
zhongwencool 8b31466538 chore(trace): replace trace_filter by is_trace 2022-01-14 15:33:43 +08:00
zhongwencool 681ab6b754 fix(review): refactor function name base on review sugguestion 2022-01-14 15:00:05 +08:00
zhongwencool 1cfab9fed5 chore(log): add more detail log for authz/authn query error 2022-01-14 15:00:02 +08:00
Shawn 6572785907
Merge pull request #6712 from tigercl/fix/pgsql
fix: fix errors caused by concurrent parsing of sql
2022-01-14 13:37:47 +08:00
Zaiming (Stone) Shi 641fe64d00 docs: ensure authn schema ns for password-hash structs 2022-01-12 15:48:30 +01:00
zhouzb ac631110cb chore: remove useless field 2022-01-11 10:05:11 +08:00
zhouzb 2791052135 fix: fix errors caused by concurrent parsing of sql 2022-01-11 09:39:56 +08:00
zhongwencool 3bdfa183f3
Merge pull request #6666 from JimMoen/merge-5.0-beta.3-to-master
Merge 5.0 beta.3 to master
2022-01-06 18:20:30 +08:00
JimMoen 9a115b99a4 Merge remote-tracking branch 'emqx/release-5.0-beta.3' into merge-5.0-beta.3-to-master 2022-01-06 14:08:45 +08:00
Zaiming (Stone) Shi 63167cea70 chore: update copyright 2022-01-05 20:55:00 +01:00
JimMoen 6affb5aca1 fix(authn): authn http resource url query string 2022-01-04 18:13:27 +08:00
Zaiming (Stone) Shi 2898fa76e1 Merge remote-tracking branch 'origin/release-5.0-beta.3' into merge-5.0-beta.3-to-master 2022-01-03 11:39:06 +01:00
Shawn e1ab331a30 refactor(resource): support async create mode 2022-01-02 20:20:39 +08:00
Ilya Averyanov 2b3d3ebb0a chore(authn): test JWT authn with HTTPS key server 2021-12-29 16:24:57 +03:00
zhouzb d26042703e chore: provide prepared_query and equery 2021-12-28 09:52:31 +08:00
zhouzb 9769ddeb14 fix(authn): attempt to convert certificate content only when TLS is enabled 2021-12-24 13:40:13 +08:00
Ilya Averyanov b8a68d7a9f
Merge pull request #6384 from savonarola/refactor-password-hashing
refactor(authn): unify password hashing
2021-12-14 16:21:02 +03:00
Ilya Averyanov 708d9cfc6c refactor(authn): restore pbkdf2 password hashing functionality 2021-12-13 21:40:09 +03:00
Zaiming (Stone) Shi 41aa958ac9 refactor(authn): root type as array of union
Deleted the wrapping union.
i.e. previously it's
union([union([...]), array(union([...]))]).
not it's
array(union([...]))

It is after-all a lazy type, and the dynamic check allows
single-elemented arrays not to have `[]` around it.

the old union of array of union schema was just adding confusion
2021-12-11 22:20:53 +01:00
Ilya Averyanov 2b0a3e8ba3 refactor(authn): unify password hashing 2021-12-07 23:38:26 +03:00
Zaiming (Stone) Shi 68a7c096b0
Merge pull request #6362 from zmstone/emqx-config-put-raw-with-env-vars
fix: config put raw with env vars
2021-12-06 09:22:32 +01:00
Zaiming (Stone) Shi 5d3cb6ae1c refactor(authn): align authn config root name
authn configs are checked independently per-auth provider,
this was to make authn providers more plugable.

in order to make environment variable overrides work for authn,
we need to have a unified view of the config layout,
no matter from root level, or partially checking per-provider
config independently, i.e. we try to use the same config envelop.
2021-12-04 09:33:14 +01:00
zhouzb e1bcbd012c feat(authn): support sync configuration in the cluster 2021-12-03 14:14:40 +08:00
JimMoen 68af284570 fix(authz): http source create and update 2021-12-02 10:12:10 +08:00
zhouzb b983a18cdf fix(auth): replace query with cmd 2021-12-01 20:24:43 +08:00
zhouzb 6b8997cbda fix(authn): fix superuser when missing is_superuser_field 2021-12-01 09:23:36 +08:00
Ilya Averyanov 6b65151f69
Merge pull request #6325 from savonarola/test-authn-resources-scram
chore(authn): add SCRAM mechanism tests
2021-11-30 12:16:20 +03:00
Ilya Averyanov e6d7e59c18
Merge pull request #6278 from savonarola/test-authn-resources-mongo
chore(authn): add MongoDB backend tests
2021-11-29 22:27:52 +03:00
Ilya Averyanov 390575eafb chore(authn): add MongoDB backend tests 2021-11-29 21:17:56 +03:00
Ilya Averyanov 4580c03ebc chore(authn): add SCRAM mechanism tests 2021-11-29 20:49:45 +03:00
Ilya Averyanov 726e25d6ae chore(authn): add JWKS backend tests 2021-11-26 18:40:21 +03:00
zhongwencool f697028b70
Fix ping not return pong (#6285)
* fix: ./bin/emqx ping return pong

* chore: waiting longer for logger flush log to disk

* fix: change swagger page's limit from 100 to 1000

* chore: type wrong

* fix: sync log to disk by logger_disk_log_h:filesync
2021-11-26 17:02:45 +08:00
tigercl 124ba7a071
Merge pull request #6311 from emqx/release-5.0-beta.2
Sync bug fixes
2021-11-26 14:24:19 +08:00
zhouzb 349fd1608b style(authn): improve code formatting 2021-11-26 10:29:57 +08:00
Ilya Averyanov e6c2600718 chore(authn): add HTTP backend tests 2021-11-25 15:09:13 +03:00
zhouzb ecd3c9f85c test(authn): add test cases for jwt authn 2021-11-25 19:03:11 +08:00
zhouzb 15654b5b28 fix(authn): add handling of invalid secret 2021-11-25 17:17:44 +08:00
zhouzb d88bfdfe14 fix(authn): verify claims type is wrong 2021-11-25 16:42:08 +08:00
Ilya Averyanov ac3707e4a9 fix(authn): handle authn backends own validations 2021-11-24 14:05:46 +03:00
Ilya Averyanov 8cc0b43de7 chore(authn): add MySQL & PostgreSQL backend tests 2021-11-23 11:52:51 +03:00
DDDHuang 21bd9bba55
fix: generate palce holder (#6250)
* fix: generate place holder

* style: whitespace cleanup

* refactor(authz): placeholder for athuz

* test: authz test suite for placeholder

* fix: lw place holder suite

* fix: auth n redis suite

Co-authored-by: JimMoen <LnJimMoen@outlook.com>
2021-11-23 10:56:43 +08:00
Shawn 6fb464fc05
Merge pull request #6059 from tigercl/fix/ssl
fix(ssl): fix API returns the certificate file name instead of the certificate content
2021-11-23 10:38:12 +08:00
JianBo He 50542ec441
Merge pull request #6248 from HJianBo/gw-improve-apis-1
Add authentication data management APIs for gateway
2021-11-23 09:12:04 +08:00
zhouzb 2b282b9666 fix(ssl): Return the content of certificates in HTTP response 2021-11-22 23:30:05 +01:00
Ilya Averyanov 071c2c99e8 refactor(authn resources): add `emqx_resource` and `emqx_authn` tests 2021-11-22 21:08:04 +03:00
JianBo He 1e2eac0fce test(gw): add tests for authm data-mgmt 2021-11-22 17:38:59 +08:00
JianBo He 4f752fb5ab chore(gw): fix elvis warnings 2021-11-22 17:38:59 +08:00
JianBo He f033fad7b3 refactor(gw): deps on emqx_dasboard_swagger 2021-11-22 17:38:59 +08:00
Shawn f0c61068e8 fix(authn): test cases issues 2021-11-22 17:35:33 +08:00
tigercl 6da039cf4f
Merge pull request #6231 from tigercl/fix/http-authn
fix(authn): fix pick worker error and match more http response
2021-11-22 09:10:44 +08:00
Ilya Averyanov c86887491c fix(authn): transfer chain tab to emqx_authentication_sup
To preserve configuration after emqx_authentication crashes.
2021-11-19 16:41:22 +03:00
zhouzb 980a6ceae9 fix(authn): fix pick worker error and match more http response 2021-11-19 11:19:52 +08:00
DDDHuang 7c48bcabed
fixt: generate api (#6124)
* fix: generate api

* fix: banned suite

* fix: generate api bad rpc

* fix: bad message suite

* fix: create banned with check existed
2021-11-17 10:55:48 +08:00
JimMoen c05ecdbcb8
fix(api): DELETE success wrongly returned code 200 (#6135) 2021-11-16 09:28:57 +08:00
Zaiming (Stone) Shi 9761fe2f6d
Merge pull request #6009 from tigercl/fix/authn
fix(authn): fix handling of query result
2021-11-15 13:32:56 +01:00
JimMoen 106aa559e0 fix(api): DELETE success wrongly returned code 200 2021-11-15 16:30:44 +08:00
Ilya Averyanov a84b84aac9 refactor(authn api): reformat for elvis compliance 2021-11-05 19:36:26 +03:00
Ilya Averyanov 1e036bf74d refactor(authn api): add more schema examples 2021-11-05 16:12:14 +03:00
zhouzb ca4bb100ec fix(authn): fix bad parsing for postgresql SQL 2021-11-04 10:01:54 +08:00