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.cadi.configuration;
\r
19 import javax.servlet.Filter;
\r
20 import org.onap.aaf.cadi.Access.Level;
\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.web.servlet.FilterRegistrationBean;
\r
25 import org.springframework.context.annotation.Bean;
\r
26 import org.springframework.context.annotation.Conditional;
\r
27 import org.springframework.context.annotation.Configuration;
\r
28 import org.springframework.context.annotation.PropertySource;
\r
30 @PropertySource("classpath:application.yaml")
\r
32 @Conditional(value = FilterCondition.class)
\r
33 public class CadiFilterConfiguration {
\r
35 @Value("${otf.cadi.aaf-mech-id}")
\r
36 private String AAF_APPID;
\r
38 @Value("${otf.cadi.aaf-mech-password}")
\r
39 private String AAF_APPPASS;
\r
41 @Value("${otf.cadi.hostname}")
\r
42 private String CADI_HOSTNAME;
\r
44 @Value("${otf.cadi.keyfile}")
\r
45 private String CADI_KEYFILE;
\r
47 @Value("${otf.ssl.keystore-path}")
\r
48 private String CADI_KEYSTORE;
\r
50 @Value("${otf.ssl.keystore-password}")
\r
51 private String CADI_KEYSTORE_PASSWORD;
\r
53 @Bean(name = "cadiFilterRegistrationBean")
\r
54 // @ConditionalOnProperty(prefix = "otf.cadi", name = "enabled", havingValue = "true", matchIfMissing = true)
\r
55 public FilterRegistrationBean<Filter> cadiFilterRegistration() {
\r
56 FilterRegistrationBean<Filter> registration = new FilterRegistrationBean<>();
\r
57 // set cadi configuration properties
\r
58 initCadiProperties(registration);
\r
60 registration.addUrlPatterns("/otf/tcu/*", "/rest/*");
\r
61 registration.setFilter(cadiFilter());
\r
62 registration.setName("otfCadiFilter");
\r
63 registration.setOrder(0);
\r
64 return registration;
\r
67 Filter cadiFilter() {
\r
68 return new CadiFilter();
\r
71 private void initCadiProperties(FilterRegistrationBean<Filter> registration) {
\r
72 registration.addInitParameter(Config.AAF_APPID, AAF_APPID);
\r
73 registration.addInitParameter(Config.AAF_APPPASS, AAF_APPPASS);
\r
74 registration.addInitParameter(Config.AAF_CALL_TIMEOUT, "10000");
\r
75 registration.addInitParameter(Config.AAF_CONN_TIMEOUT, "6000");
\r
76 registration.addInitParameter(Config.AAF_DEFAULT_REALM, "localhost");
\r
77 registration.addInitParameter(Config.AAF_ENV, "PROD");
\r
78 registration.addInitParameter(Config.AAF_LOCATE_URL, "https://localhost");
\r
79 registration.addInitParameter(Config.AAF_LUR_CLASS, "org.onap.aaf.cadi.aaf.v2_0.AAFLurPerm");
\r
80 registration.addInitParameter(
\r
81 Config.AAF_URL, "https://localhost");
\r
83 registration.addInitParameter(Config.BASIC_REALM, "localhost");
\r
84 registration.addInitParameter(Config.BASIC_WARN, "true");
\r
86 registration.addInitParameter(Config.CADI_KEYFILE, CADI_KEYFILE);
\r
87 registration.addInitParameter(Config.CADI_LATITUDE, "38.62782");
\r
88 registration.addInitParameter(Config.CADI_LOGLEVEL, Level.ERROR.name());
\r
89 registration.addInitParameter(Config.CADI_LONGITUDE, "-90.19458");
\r
90 registration.addInitParameter(Config.CADI_NOAUTHN, "/health/v1");
\r
91 registration.addInitParameter(Config.CADI_PROTOCOLS, "TLSv1.1,TLSv1.2");
\r
92 registration.addInitParameter(Config.CADI_KEYSTORE, CADI_KEYSTORE);
\r
93 registration.addInitParameter(Config.CADI_KEYSTORE_PASSWORD, CADI_KEYSTORE_PASSWORD);
\r
95 registration.addInitParameter(Config.HOSTNAME, CADI_HOSTNAME);
\r