[ https://issues.apache.org/jira/browse/TINKERPOP-1657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15949650#comment-15949650 ]
ASF GitHub Bot commented on TINKERPOP-1657: ------------------------------------------- Github user krlohnes commented on a diff in the pull request: https://github.com/apache/tinkerpop/pull/583#discussion_r109015220 --- Diff: gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/handler/AuthenticationHandler.java --- @@ -0,0 +1,52 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tinkerpop.gremlin.server.handler; + +import io.netty.channel.ChannelFutureListener; +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelInboundHandlerAdapter; +import io.netty.handler.codec.http.DefaultFullHttpResponse; +import io.netty.handler.codec.http.FullHttpMessage; +import io.netty.util.ReferenceCountUtil; +import org.apache.tinkerpop.gremlin.server.auth.AuthenticationException; +import org.apache.tinkerpop.gremlin.server.auth.Authenticator; + +import java.nio.charset.Charset; +import java.util.Base64; +import java.util.HashMap; +import java.util.Map; + +import static io.netty.handler.codec.http.HttpResponseStatus.UNAUTHORIZED; +import static io.netty.handler.codec.http.HttpVersion.HTTP_1_1; +import static org.apache.tinkerpop.gremlin.groovy.plugin.dsl.credential.CredentialGraphTokens.PROPERTY_PASSWORD; +import static org.apache.tinkerpop.gremlin.groovy.plugin.dsl.credential.CredentialGraphTokens.PROPERTY_USERNAME; + +/** + * Provides an abstraction point to allow for http auth schemes beyond basic auth. + */ +import io.netty.channel.ChannelInboundHandlerAdapter; + +public abstract class AuthenticationHandler extends ChannelInboundHandlerAdapter { --- End diff -- Fixed > 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)