[ 
https://issues.apache.org/jira/browse/TINKERPOP-1657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15943396#comment-15943396
 ] 

ASF GitHub Bot commented on TINKERPOP-1657:
-------------------------------------------

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.


> Provide abstraction to easily allow different HttpAuth schemes
> --------------------------------------------------------------
>
>                 Key: TINKERPOP-1657
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1657
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: server
>            Reporter: Keith Lohnes
>
> The current HttpChannelizer allows for extension through an Authenticator 
> class supplied through the authorization settings. There isn't, however, an 
> extension point for an authentication handler. Currently the choice is 
> between the `AllowAllAuthenticator` or the `HttpBasicAuthenticationHandler`. 
> One would need to create a new channelizer where the HttpChannelizer would 
> suffice. Creating an abstract class that can be extended would make it easier 
> to extend Authentication for things like token authentication schemes.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to