Comments (5)
@vitalvas Given that Remote and ClientID are both fields of events.Client, I am tempted to pass that directly to both Authenticate and ACL 🤔
The next release will be v1.4.0 and dealing with #101, so I will make this change then 👍🏻
from server.
An enhanced auth mechanism will delivered in the new v2.0.0 release that will satisfy this request
from server.
This issue has been resolved in v2.0.0 with the addition of universal hooks (particularly OnConnectAuthenticate).
from server.
@mochi-co I discovered your project recently and it looks very neat!
Regarding the Authenticate
interface, it could probably be replaced with a function:
// AuthenticateFunc should return ErrAuthBadUsernameOrPassword or ErrAuthNotauthorized
// to reply with a CONNACK and terminate. Any other non-nil error will immediately terminate the connection.
type AuthenticateFunc func(authRequest) (ACL, error)
type ACL interface {
CanSubscribe(topic string) bool
CanPublish(topic string) bool
}
var ErrAuthBadUsernameOrPassword = errors.New("bad user name or password")
var ErrAuthNotauthorized = errors.New("not authorized")
Regarding the v2, do you plan to share a branch or some alpha version?
from server.
Thanks @oliverpool! For v2 I am hoping to issue a pre-release in the near (but indeterminate) future. It's a fairly substantial rewrite for stability, performance, and developer flexibility. I am also currently looking at whether it is feasible to implement MQTT 5 as part of this release, but I need to assess the total changes required.
from server.
Related Issues (20)
- Logging Level is not Configurable Via File Configuration
- Persistence storage did not work with SetCleanSession(false) HOT 3
- Don't allow inheriting session unless username matches HOT 5
- MessageExpiry Hook HOT 4
- OnConnectAuthenticate cannot specify an error code (like Client Identifier not valid)
- Resend timeout inflight messages
- Bug in inflight message restore from datastore HOT 2
- Proposal: Add an Example for Custom Hook Usage HOT 2
- can I use mqtts ? HOT 2
- OCSP Stapling support ? HOT 1
- Metrics HOT 4
- MQTT bridge HOT 3
- Is it possible to dynamically remove a hook likewise we add them? HOT 2
- Client supplied ID is used to look up existing clients in inheritSession, while the store of existing actually uses the server assigned if one exists. HOT 8
- Got error when enable compression of websocket listener HOT 1
- Dynamic Removal of the Hooks HOT 1
- Clients MQTT often experience disconnection listener=tcp1 error=EOF and i/o timeout HOT 1
- How to configure WSS HOT 3
- Function attachClient sometimes does not call Done() on ClientsWg. HOT 4
- Potential race condition when using Ledger.Update HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from server.