1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.linecorp.centraldogma.server.internal.admin.auth;
18
19 import java.util.concurrent.CompletionStage;
20
21 import com.linecorp.armeria.common.HttpRequest;
22 import com.linecorp.armeria.common.util.UnmodifiableFuture;
23 import com.linecorp.armeria.server.ServiceRequestContext;
24 import com.linecorp.armeria.server.thrift.THttpService;
25 import com.linecorp.centraldogma.internal.CsrfToken;
26 import com.linecorp.centraldogma.server.internal.api.HttpApiUtil;
27 import com.linecorp.centraldogma.server.metadata.User;
28
29
30
31
32
33 public class AnonymousTokenAuthorizer extends AbstractAuthorizer {
34
35 @Override
36 public CompletionStage<Boolean> authorize(ServiceRequestContext ctx, HttpRequest req, String accessToken) {
37 if (CsrfToken.ANONYMOUS.equals(accessToken)) {
38 AuthUtil.setCurrentUser(ctx, User.SYSTEM_ADMIN);
39 HttpApiUtil.setVerboseResponses(ctx, User.SYSTEM_ADMIN);
40 return UnmodifiableFuture.completedFuture(true);
41 } else {
42 return UnmodifiableFuture.completedFuture(false);
43 }
44 }
45 }