-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ticket dynamic authentication like crossbar.io #125
Comments
This is definitely something I need provide both examples and additional documentation for. Until then, probably the best help is to look at some of the test code. Client that tests simple CR auth handler: On the server side, a very simple CRAuthenticator is defined, and given a For a ticket authenticator, you can create your own or use the skeleton Here is a unit test that provides a ticket authenticator and a CR authenticator: The I will provide some examples and docs very soon. Consider using TLS |
In our advanced router (to be open sourced soon) there is dynamic ticket authentication, as well as TLS authentication using a custom PKI, maybe you want to use this... |
@martin31821 I would be very interested to see how your authentication system fits with nexus. I think the current ticket/CR authentication interface could be improved and made much easier to work with. TLS support is provided, but is basically what the golang stdlib provides, so having something that is better integrated into the rest of the auth stuff could be a good improvement. |
I'lll see if I can get this into a good shape within the next week :) should work, we have currently docker images which are production ready |
@goldcode88 It looks like there is one thing nexus is missing to be able to provide dynamic ticket authentication as described in Crossbar. That is specifically the ability to make the ticket available in the session details after authentication success. If that is done, the the ticket can be used in the authorizer for the authorization of each message. I will fix this! All of the other information available to Crossbar's dynamic authorization is also available in nexus. If you set |
@gammazero @martin31821 Thanks!
I'll try to implement dynamic ticket authentication after your fix. |
Just pushed it: https://github.com/EmbeddedEnterprises/autobahnkreuz. However, docs are still lacking, we're working on it. |
Thanks.
By the way, Crossbar's wampcra model has a problem. It can't support the following request.
Maybe nexus is easy to implement the model |
One note of caution... If putting ticket into session details, then it will probably be necessary to enable |
@martin31821 The I would like to integrate I still need a way to return the |
For the first part: the spec states that the authrole should be a string, but the session details are specified as dictionary, so any router should tolerate the list (this is what we tested). Basically it allows us to add features to our application with different authroles at runtime and (re-) assign privileges. I'd also like to keep support for list of authroles within nexus, if that's fine for you @gammazero. All of our authproviders return lists of authroles. I also think that crossbar does not store the ticket object anywhere within the router, since its only purpose is to assign authid/authrole to the client. IMHO storing the user passwords (==token) within the router seems like a security issue to me. Edit: |
@martin31821 Yes, certainly want keep support for list of authroles. My concern was was about what what to return in session meta events: |
The current implementation just returns the list, which is exactly what is desired. Maybe It would be feasible to add this to the spec, but I don't know what the maintainers think of this... |
@martin31821 Maybe there is a why to have it both ways? The session details could contain two different items:
An administrative meta procedure ( |
@gammazero What's the advantage of having For now, I'd just keep the implementation as-is... |
@martin31821 Yes, primary vs others is what I had in mind. Anyway, I think the current implementation is best since it does not force the session details to be any particular type, as long as they serialize. This allows whatever flexibility the router implementer needs. |
how to implement ticket dynamic? "user.token.authenticate.d10" is provided by client in autobahn.py.
In nexus, I think "user.token.authenticate.d10" should be implemented in nexusd router. But no example can be referenced.
crossbar.io config.json partially.
```
The text was updated successfully, but these errors were encountered: