{"repo":"snapp-incubator/soteria","free":true,"listed":false,"github":"https://github.com/snapp-incubator/soteria","clone":"git clone https://github.com/snapp-incubator/soteria.git","description":"Snapp EMQ Authentication based on EMQ HTTP Plugin","language":"Go","stars":17,"topics":["authentication","authorization","cloud","emqx","mqtt","hacktoberfest"],"license":"GPL-3.0","category":"auth-billing-email","readme_excerpt":"Soteria Introduction Soteria is responsible for Authentication and Authorization of every request sent to EMQ. The following configuration in HOCON format, configure EMQ to use HTTP Service for Authentication and Authorization. We are using the Authentication HTTP Service and Authorization HTTP Service plugins of EMQ for forwarding these requests to Soteria and doing Authentication and Authorization. EMQ has caching mechanism, but it sends requests almost for each Publish message to Soteria. PS: On Subscribe we have only one message from client that need authorization and other messages are coming from server. Architecture Support Vendors Soteria supports having multiple vendors at the same time. Means you can use single cluster for multiple companies at the same time and validate their tokens and control accesses. Vendor Configuration HashID Manager driver salt , passenger salt , passenger hash length , driver hash length are used for HashIDManager. This component only works for passenger and driver issuers. Keys The following is a mapping that associates vendors (companies) with the keys used for opening JWT tokens. If symmetrical keys are utilized, it is important to use their base64 representation. It should also be noted that Soteria only requires public keys in cases where asymmetrical keys are employed. IssEntityMap & IssPeerMap These two configuration map iss to entity and peer respectively. Note : default case is required In the example above, we have two maps for en","default_branch":null,"files":null,"tree":[],"storefront":"/r/snapp-incubator","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/snapp-incubator/soteria/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}