1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package com.linecorp.centraldogma.server.auth.saml;
17
18 import static java.util.Objects.requireNonNull;
19
20 import com.google.common.collect.ImmutableList;
21
22 import com.linecorp.armeria.common.HttpResponse;
23 import com.linecorp.armeria.common.HttpStatus;
24 import com.linecorp.armeria.server.HttpService;
25 import com.linecorp.armeria.server.HttpServiceWithRoutes;
26 import com.linecorp.armeria.server.saml.SamlServiceProvider;
27 import com.linecorp.centraldogma.server.auth.AuthProvider;
28
29
30
31
32 public class SamlAuthProvider implements AuthProvider {
33
34 private final SamlServiceProvider sp;
35
36 SamlAuthProvider(SamlServiceProvider sp) {
37 this.sp = requireNonNull(sp, "sp");
38 }
39
40 @Override
41 public HttpService webLoginService() {
42
43 final HttpService service = (ctx, req) -> HttpResponse.of(HttpStatus.INTERNAL_SERVER_ERROR);
44 return service.decorate(sp.newSamlDecorator());
45 }
46
47 @Override
48 public Iterable<HttpServiceWithRoutes> moreServices() {
49 return ImmutableList.of(sp.newSamlService());
50 }
51 }