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].