Το EMQX ανοίγει τη λειτουργία επαλήθευσης εξουσιοδότησης σύνδεσης HTTP

Αναφορά

Επίσημη ιστοσελίδα Πρόσθετο ελέγχου ταυτότητας HTTP Πρωτόκολλο HTTP

Διαμόρφωση προσθήκης ελέγχου ταυτότητας HTTP

Χρησιμοποιήστε το vi ή το vim για να επεξεργαστείτε το αρχείο /etc/emqx/plugins/emqx_auth_http.conf. Διαμορφώστε τον έλεγχο ταυτότητας σύνδεσης, τον έλεγχο ταυτότητας διαχειριστή και δημοσιεύστε και εγγραφείτε τον έλεγχο ταυτότητας αντίστοιχα. Η διαμόρφωση χωρίζεται σε τέσσερα στοιχεία, διεύθυνση διεπαφής HTTP, μέθοδος αιτήματος, τύπος περιεχομένου και παράμετροι αιτήματος. Η διεύθυνση διεπαφής αναφέρεται σε μια διεύθυνση HTTP. Συνήθως χρησιμοποιούμε το GET ή το POST για τη μέθοδο αιτήματος και συνιστάται το POST. Ο τύπος περιεχομένου χρησιμοποιεί συνήθως x-www-form-urlencoded. Η παράμετρος αιτήματος είναι η πιο σημαντική. Εδώ πρέπει να συμπεριλάβουμε όλο το περιεχόμενο που χρειαζόμαστε για να κρίνουμε την εξουσιοδότηση. Η λεπτομερής περιγραφή όλων των παραμέτρων μπορεί να προβληθεί στο υλικό αναφοράς. Στο παρακάτω παράδειγμά μας, η διεύθυνση υπηρεσίας του API μας είναι μια ενοποιημένη καταχώριση. Η πραγματική διεπαφή κλήσεων καθορίζεται από την ενέργεια στην παράμετρο. Φυσικά, μπορούμε επίσης να τη διακρίνουμε από τη διεύθυνση URL και μπορείτε να την προσαρμόσετε ανάλογα με τη δική σας χρήση. Ο κωδικός διακομιστή δεν θα περιγραφεί σε αυτό το άρθρο, επειδή είναι στενά συνδεδεμένος με τη λογική της επιχείρησης. Αυτό που πρέπει να κάνουμε είναι να επιστρέψουμε το αποτέλεσμα στο EMQX μετά από λογική κρίση. Εάν θέλουμε να περάσουμε τον έλεγχο ταυτότητας, θα επιστρέψουμε τον κωδικό κατάστασης HTTP 200 κανονικά, εάν αποτύχει Επιστρέφει τον κωδικό κατάστασης HTTP 403.

            auth.http.auth_req = http://127.0.0.1:80/
auth.http.auth_req.method = post
auth.http.auth_req.content_type = x-www-form-urlencoded
auth.http.auth_req.params = client_id=%c,username=%u,password=%P,action=emqx_auth:auth_req
auth.http.super_req = http://127.0.0.1:80/
auth.http.super_req.method = post
auth.http.super_req.content_type = x-www-form-urlencoded
auth.http.super_req.params = client_id=%c,username=%u,action=emqx_auth:super_req
auth.http.acl_req = http://127.0.0.1:80/
auth.http.acl_req.method = post
auth.http.acl_req.content_type = x-www-form-urlencoded
auth.http.acl_req.params = access=%A,username=%u,client_id=%c,ip=%a,topic=%t,action=emqx_auth:acl_req
        

Φόρτωση προσθήκης ελέγχου ταυτότητας HTTP

            emqx_ctl plugins load emqx_auth_http
        

Αποτελέσματα επικύρωσης

Μετά τις παραπάνω λειτουργίες, πρέπει να χρησιμοποιήσουμε τον πελάτη MQTT για σύνδεση. Προσπαθούμε να χρησιμοποιήσουμε τον κανονικό πελάτη και τον πελάτη διαχείρισης για να συνδεθούμε στον διακομιστή για να δούμε αν το αποτέλεσμα είναι όπως αναμένεται. Στη συνέχεια, δημοσιεύστε και εγγραφείτε θέματα για να δείτε εάν ο έλεγχος της αρχής πληροί τις απαιτήσεις μας. Εάν βρεθεί μια εξαίρεση, μπορούμε να διορθώσουμε τον κωδικό του διακομιστή έως ότου όλα είναι κανονικά.