Github user krlohnes commented on the issue:
https://github.com/apache/tinkerpop/pull/583
You make some very good points.
> The Channelizer abstraction might be enough of an abstraction.
I'd thought about that a bit, but in general, I'd rather not have to
rewrite (or worse, essentially copy and paste) a piece of OS code that works
almost exactly like I need it to, but simply doesn't have an extension point
where there could easily be one.
>Personally, I'm not sure I want to see us expand different kinds of HTTP
auth in TinkerPop
I'm not suggesting adding additional "out of the box" authorization
schemes, which is why I didn't commit one. I'm really only suggesting making
Tinkerpop more easily extensible so users can code their own that fits with
their orgs current auth schemes/security requirements.
> If you were configured for web sockets it would just be ignored
I think this abstraction could be applied fairly easily to the
`WebSocketsChannelizer`. There's already the `SaslAuthenticationHandler` there.
I think that with a similar change to the ternary operator in the
`SaslAuthenicationHandler.init` as in the HttpChannelizer.init, you could
change the abstract `HttpAuthenticationHandler` class to an
`AuthenticationHandler` and have the `SaslAuthenticationHandler` extend that. I
could then change the config name from `httpAuthHandlerClassName` to
`authHandlerClassName`.
> The configuration system required further pollution of the root of the
configuration file
Well, it's not the _root_ of the configuration file. It's under
`authentication : { ... }`.
I do agree that Channelizer config would be nice to have and may follow
naturally from the idea of this PR, but I think this PR is a small, iterative
change that _doesn't_ break anything.
I think with the change around the `WebSocketsChannelizer` (included in a
new commit), the story around this becomes better. Let me know what you think.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---