mirror of
https://github.com/jpace121/j7s-jwt-mosquitto-auth.git
synced 2026-11-03 15:27:46 +00:00
Only the load the plugin once. Support multiple keys per user.
This commit is contained in:
1 parent
1a68a5ce8a
commit
b62da77718
7 files changed
+68
-41
No files matched your search
+3
-1
@@ -1 +1,3 @@
|
||||
default: /home/jimmy/Develop/mosquitto-plugin/examples/key.pem
|
||||
default:
|
||||
- /home/jimmy/Develop/mosquitto-plugin/examples/key.pem
|
||||
- /home/jimmy/Develop/mosquitto-plugin/examples/service-key.pem
|
||||
@@ -1,17 +1,14 @@
|
||||
per_listener_settings true
|
||||
per_listener_settings false
|
||||
allow_anonymous false
|
||||
log_type all
|
||||
|
||||
auth_plugin /home/jimmy/Develop/mosquitto-plugin/build/libj7s-plugin.so
|
||||
auth_opt_key_file /home/jimmy/Develop/mosquitto-plugin/examples/keys.yaml
|
||||
auth_opt_acl_file /home/jimmy/Develop/mosquitto-plugin/examples/acl.yaml
|
||||
|
||||
listener 8082
|
||||
protocol websockets
|
||||
allow_anonymous false
|
||||
auth_plugin /home/jimmy/Develop/mosquitto-plugin/build/libj7s-plugin.so
|
||||
auth_opt_key_file /home/jimmy/Develop/mosquitto-plugin/examples/keys.yaml
|
||||
auth_opt_acl_file /home/jimmy/Develop/mosquitto-plugin/examples/acl.yaml
|
||||
|
||||
listener 8081
|
||||
protocol mqtt
|
||||
allow_anonymous false
|
||||
auth_plugin /home/jimmy/Develop/mosquitto-plugin/build/libj7s-plugin.so
|
||||
auth_opt_key_file /home/jimmy/Develop/mosquitto-plugin/examples/keys.yaml
|
||||
auth_opt_acl_file /home/jimmy/Develop/mosquitto-plugin/examples/acl.yaml
|
||||
|
||||
@@ -31,9 +31,10 @@ token = r.json()['access_token']
|
||||
print(token)
|
||||
|
||||
client = paho.mqtt.client.Client(protocol=paho.mqtt.client.MQTTv5,
|
||||
transport="tcp")
|
||||
transport="websockets")
|
||||
client.username_pw_set("jimmy", password=token)
|
||||
client.connect("localhost", port=8081)
|
||||
client.tls_set()
|
||||
client.connect("mqtt.jpace121.net", port=443)
|
||||
|
||||
print("Waiting on connection.")
|
||||
time.sleep(20)
|
||||
@@ -4,33 +4,24 @@ import time
|
||||
import paho.mqtt.client
|
||||
import time
|
||||
|
||||
# RESULT=`curl --cacert ./ca.pem --cert jimmy-client.pem --key jimmy-client-key.pem --data "grant_type=password&client_id=test&username=jimmy&password=1234" https://nginx-test.internal.jpace121.net:8443/realms/master/protocol/openid-connect/token`
|
||||
|
||||
s = requests.Session()
|
||||
s.verify = "/home/jimmy/Develop/mosquitto-plugin/test/ca.pem"
|
||||
s.cert = ("/home/jimmy/Develop/keycloak/jimmy-client.pem", "/home/jimmy/Develop/keycloak/jimmy-client-key.pem")
|
||||
|
||||
|
||||
# Get urls.
|
||||
print("Before get.")
|
||||
well_known = s.get("https://nginx-test.internal.jpace121.net:8443/realms/jpace121-main/.well-known/openid-configuration", ).json()
|
||||
print("After get.")
|
||||
well_known = s.get("https://auth.jpace121.net/realms/jpace121-services/.well-known/openid-configuration", ).json()
|
||||
token_url = well_known['token_endpoint']
|
||||
# Override for now, url doesn't include port...
|
||||
token_url = "https://nginx-test.internal.jpace121.net:8443/realms/jpace121-main/protocol/openid-connect/token"
|
||||
# RESULT=`curl --cacert ./ca.pem --cert jimmy-client.pem --key jimmy-client-key.pem --data "grant_type=password&client_id=mqtt&username=jimmy&password=1234" https://nginx-test.internal.jpace121.net:8443/realms/jpace121-main/protocol/openid-connect/token`
|
||||
|
||||
|
||||
data = {"grant_type" : "password", "client_id" : "mqtt", "username" : "jimmy", "password": "1234"}
|
||||
data = {"grant_type" : "password", "client_id" : "mqtt", "username" : "j7s-1"}
|
||||
|
||||
# Request token.
|
||||
r = s.post(token_url, data=data)
|
||||
print(r.json())
|
||||
token = r.json()['access_token']
|
||||
|
||||
client = paho.mqtt.client.Client(protocol=paho.mqtt.client.MQTTv5,
|
||||
transport="tcp")
|
||||
client.username_pw_set("jimmy", password=token)
|
||||
client.username_pw_set("j7s-1", password=token)
|
||||
client.connect("localhost", port=8081)
|
||||
|
||||
print("Waiting on connection.")
|
||||
time.sleep(20)
|
||||
time.sleep(5)
|
||||
@@ -0,0 +1,3 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE9DBwMe+eHkYLfq076sFq75gepyaL4LQtX8qVlGjJCtLxV308L2d8XGC35VBxrIbx8Bs5sKT4e5s9suzO8FhGMQ==
|
||||
-----END PUBLIC KEY-----
|
||||
Reference in new issue
Block a user