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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to