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)
- Potential performance decrease with bufio on write HOT 17
- 测试paho.mqtt.testing的时候发现这个用例报错呢,Subscribe failure test HOT 4
- mqtt5 client 无法获取clientID HOT 2
- Very nice work, will this repo keep maintained? HOT 1
- Can not close example with ctrl + c HOT 4
- How to call server.Publish() inside a hook? 如何在hooks的函数里面直接使用server.Publish()? HOT 2
- An Issue with Client Connection in Dart Language 一个非常奇怪的bug HOT 25
- 怎么在Hook里面访问Publish? HOT 2
- how to override payload when do message inceptor?
- Got nil exception when inceptor publish HOT 4
- Can not get onPublish called after set Inline Client HOT 10
- invalid client status which loaded from storage. HOT 6
- consume very slow when Inflights to many HOT 4
- Packet encoding optimization HOT 1
- Data race in buffer with v2.4.3 HOT 4
- Client unsubscribe topic have problem HOT 1
- Version is "2.4.1" while the package version is v2.4.3 HOT 2
- message does not save at session when client is disconnect HOT 21
- OnACLCheck BUG HOT 11
- How to enable storage simplify HOT 16
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.