1 /* Copyright (c) 2019 AT&T Intellectual Property. #
\r
3 # Licensed under the Apache License, Version 2.0 (the "License"); #
\r
4 # you may not use this file except in compliance with the License. #
\r
5 # You may obtain a copy of the License at #
\r
7 # http://www.apache.org/licenses/LICENSE-2.0 #
\r
9 # Unless required by applicable law or agreed to in writing, software #
\r
10 # distributed under the License is distributed on an "AS IS" BASIS, #
\r
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
\r
12 # See the License for the specific language governing permissions and #
\r
13 # limitations under the License. #
\r
14 ##############################################################################*/
\r
17 package org.oran.otf.api.config;
\r
19 import javax.servlet.Filter;
\r
20 import org.onap.aaf.cadi.Access;
\r
21 import org.onap.aaf.cadi.config.Config;
\r
22 import org.onap.aaf.cadi.filter.CadiFilter;
\r
23 import org.springframework.beans.factory.annotation.Value;
\r
24 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
\r
25 import org.springframework.boot.web.servlet.FilterRegistrationBean;
\r
26 import org.springframework.context.annotation.Bean;
\r
27 import org.springframework.context.annotation.Conditional;
\r
28 import org.springframework.context.annotation.PropertySource;
\r
29 import org.springframework.stereotype.Component;
\r
31 @PropertySource("classpath:application.properties")
\r
33 @ConditionalOnProperty(prefix = "aaf",name ="enabled",havingValue = "true",matchIfMissing = true)
\r
34 public class CadiFilterConfiguration {
\r
36 @Value("${aaf.call-timeout}")
\r
37 private String AAF_CALL_TIMEOUT;
\r
39 @Value("${aaf.conn-timeout}")
\r
40 private String AAF_CONN_TIMEOUT;
\r
42 @Value("${aaf.default-realm}")
\r
43 private String AAF_DEFAULT_REALM;
\r
45 @Value("${aaf.env}")
\r
46 private String AAF_ENV;
\r
48 @Value("${aaf.locate-url}")
\r
49 private String AAF_LOCATE_URL;
\r
51 @Value("${aaf.lur-class}")
\r
52 private String AAF_LUR_CLASS;
\r
54 @Value("${aaf.url}")
\r
55 private String AAF_URL;
\r
57 @Value("${basic-realm}")
\r
58 private String BASIC_REALM;
\r
60 @Value("${basic-warn}")
\r
61 private String BASIC_WARN;
\r
63 @Value("${cadi-latitude}")
\r
64 private String CADI_LATITUDE;
\r
66 @Value("${cadi-longitude}")
\r
67 private String CADI_LONGITUDE;
\r
69 @Value("${cadi-protocols}")
\r
70 private String CADI_PROTOCOLS;
\r
72 @Value("${cadi-noauthn}")
\r
73 private String CADI_NOAUTHN;
\r
75 @Bean(name = "cadiFilterRegistrationBean")
\r
76 @ConditionalOnProperty(prefix = "aaf",name ="enabled",havingValue = "true",matchIfMissing = true)
\r
77 public FilterRegistrationBean<Filter> cadiFilterRegistration() {
\r
78 FilterRegistrationBean<Filter> registration = new FilterRegistrationBean<>();
\r
79 // set cadi configuration properties
\r
80 initCadiProperties(registration);
\r
82 registration.addUrlPatterns("/otf/api/testInstance/*", "/otf/api/testExecution/*", "/otf/api/testStrategy/*", "/otf/api/virtualTestHead/*");
\r
83 registration.setFilter(cadiFilter());
\r
84 registration.setName("otfCadiFilter");
\r
85 registration.setOrder(0);
\r
86 return registration;
\r
89 public Filter cadiFilter() {
\r
90 return new CadiFilter();
\r
93 private void initCadiProperties(FilterRegistrationBean<Filter> registration) {
\r
94 registration.addInitParameter(Config.AAF_APPID, System.getenv("AAF_ID"));
\r
95 registration.addInitParameter(Config.AAF_APPPASS, System.getenv("AAF_PASSWORD"));
\r
96 registration.addInitParameter(Config.AAF_CALL_TIMEOUT, AAF_CALL_TIMEOUT);
\r
97 registration.addInitParameter(Config.AAF_CONN_TIMEOUT, AAF_CONN_TIMEOUT);
\r
98 registration.addInitParameter(Config.AAF_DEFAULT_REALM, AAF_DEFAULT_REALM);
\r
99 registration.addInitParameter(Config.AAF_ENV, AAF_ENV);
\r
100 registration.addInitParameter(Config.AAF_LOCATE_URL, AAF_LOCATE_URL);
\r
101 registration.addInitParameter(Config.AAF_LUR_CLASS, AAF_LUR_CLASS);
\r
102 registration.addInitParameter(
\r
103 Config.AAF_URL, AAF_URL);
\r
105 registration.addInitParameter(Config.BASIC_REALM, BASIC_REALM);
\r
106 registration.addInitParameter(Config.BASIC_WARN, BASIC_WARN);
\r
108 registration.addInitParameter(Config.CADI_KEYFILE, System.getenv("CADI_KEYFILE"));
\r
109 registration.addInitParameter(Config.CADI_LATITUDE, CADI_LATITUDE);
\r
110 //registration.addInitParameter(Config.CADI_LOGLEVEL, Access.Level.DEBUG.name());
\r
111 registration.addInitParameter(Config.CADI_LONGITUDE, CADI_LONGITUDE);
\r
112 registration.addInitParameter(Config.CADI_NOAUTHN, CADI_NOAUTHN);
\r
113 registration.addInitParameter(Config.CADI_PROTOCOLS, CADI_PROTOCOLS);
\r
114 registration.addInitParameter(Config.CADI_KEYSTORE, System.getenv("OTF_CERT_PATH"));
\r
115 registration.addInitParameter(Config.CADI_KEYSTORE_PASSWORD, System.getenv("OTF_CERT_PASS"));
\r
117 registration.addInitParameter(Config.HOSTNAME, System.getenv("CADI_HOSTNAME"));
\r