This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch feature/token-auth
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking.git


The following commit(s) were added to refs/heads/feature/token-auth by this 
push:
     new 5e522d4  Make auth interceptor doesn't throw expcetion.
5e522d4 is described below

commit 5e522d4747c0eee405d9144e77a76f7054ba3a97
Author: wusheng <[email protected]>
AuthorDate: Thu Mar 29 22:39:21 2018 +0800

    Make auth interceptor doesn't throw expcetion.
---
 .../grpc/provider/AuthenticationSimpleChecker.java     | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git 
a/apm-collector/apm-collector-agent/agent-grpc/agent-grpc-provider/src/main/java/org/apache/skywalking/apm/collector/agent/grpc/provider/AuthenticationSimpleChecker.java
 
b/apm-collector/apm-collector-agent/agent-grpc/agent-grpc-provider/src/main/java/org/apache/skywalking/apm/collector/agent/grpc/provider/AuthenticationSimpleChecker.java
index ac5d798..be50a5c 100644
--- 
a/apm-collector/apm-collector-agent/agent-grpc/agent-grpc-provider/src/main/java/org/apache/skywalking/apm/collector/agent/grpc/provider/AuthenticationSimpleChecker.java
+++ 
b/apm-collector/apm-collector-agent/agent-grpc/agent-grpc-provider/src/main/java/org/apache/skywalking/apm/collector/agent/grpc/provider/AuthenticationSimpleChecker.java
@@ -18,7 +18,13 @@
 
 package org.apache.skywalking.apm.collector.agent.grpc.provider;
 
-import io.grpc.*;
+import io.grpc.BindableService;
+import io.grpc.Metadata;
+import io.grpc.ServerCall;
+import io.grpc.ServerCallHandler;
+import io.grpc.ServerInterceptor;
+import io.grpc.ServerInterceptors;
+import io.grpc.Status;
 import org.apache.skywalking.apm.collector.core.util.StringUtils;
 import org.apache.skywalking.apm.collector.server.grpc.GRPCServer;
 
@@ -31,7 +37,7 @@ public enum AuthenticationSimpleChecker {
     INSTANCE;
 
     private static final Metadata.Key<String> AUTH_HEAD_HEADER_NAME =
-            Metadata.Key.of("Authentication", 
Metadata.ASCII_STRING_MARSHALLER);
+        Metadata.Key.of("Authentication", Metadata.ASCII_STRING_MARSHALLER);
 
     private String expectedToken = "";
 
@@ -40,13 +46,15 @@ public enum AuthenticationSimpleChecker {
             gRPCServer.addHandler(ServerInterceptors.intercept(targetService, 
new ServerInterceptor() {
                 @Override
                 public <REQ, RESP> ServerCall.Listener<REQ> 
interceptCall(ServerCall<REQ, RESP> serverCall,
-                                                                          
Metadata metadata,
-                                                                          
ServerCallHandler<REQ, RESP> next) {
+                    Metadata metadata,
+                    ServerCallHandler<REQ, RESP> next) {
                     String token = metadata.get(AUTH_HEAD_HEADER_NAME);
                     if (expectedToken.equals(token)) {
                         return next.startCall(serverCall, metadata);
                     } else {
-                        throw new RuntimeException("Invalid token. Access 
deny.");
+                        serverCall.close(Status.PERMISSION_DENIED, metadata);
+                        return new ServerCall.Listener() {
+                        };
                     }
 
                 }

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to