summaryrefslogtreecommitdiffstats
path: root/catalog-fe/src
diff options
context:
space:
mode:
authorxuegao <xue.gao@intl.att.com>2020-12-09 16:01:22 +0100
committerChristophe Closset <christophe.closset@intl.att.com>2021-01-19 13:51:47 +0000
commit27fa75194efcf77c93b645ef7b412668ac3f5d38 (patch)
tree123dbbf734355299ed0643a77781a0542df03888 /catalog-fe/src
parent5b9a4251a7bce56895ca80b867ee7537e7382320 (diff)
Add basic auth
Adding basic auth for SDC apis. Issue-ID: OJSI-90 Signed-off-by: xuegao <xue.gao@intl.att.com> Change-Id: Ie84e6bab8d8526f7f4d21a36bba52d8fe9abebbb Signed-off-by: xuegao <xue.gao@intl.att.com>
Diffstat (limited to 'catalog-fe/src')
-rw-r--r--catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/FeProxyServlet.java23
1 files changed, 15 insertions, 8 deletions
diff --git a/catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/FeProxyServlet.java b/catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/FeProxyServlet.java
index 8f76cb95ab..337a8ae100 100644
--- a/catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/FeProxyServlet.java
+++ b/catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/FeProxyServlet.java
@@ -21,13 +21,17 @@
package org.openecomp.sdc.fe.servlets;
import com.google.common.annotations.VisibleForTesting;
+import java.util.Base64;
import org.apache.commons.lang3.NotImplementedException;
import org.apache.commons.lang3.StringUtils;
+import org.eclipse.jetty.client.api.Request;
import org.eclipse.jetty.client.api.Response;
+import org.eclipse.jetty.http.HttpHeader;
import org.openecomp.sdc.common.api.Constants;
import org.openecomp.sdc.common.log.enums.EcompLoggerErrorCode;
import org.openecomp.sdc.common.log.wrappers.Logger;
import org.openecomp.sdc.fe.config.Configuration;
+import org.openecomp.sdc.fe.config.Configuration.BasicAuthConfig;
import org.openecomp.sdc.fe.config.Configuration.CatalogFacadeMsConfig;
import org.openecomp.sdc.fe.config.ConfigurationManager;
import org.openecomp.sdc.fe.config.FeEcompErrorManager;
@@ -37,7 +41,6 @@ import org.openecomp.sdc.fe.impl.LogHandler;
import org.openecomp.sdc.fe.utils.BeProtocol;
import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import java.net.MalformedURLException;
import java.net.URL;
@@ -96,14 +99,18 @@ public class FeProxyServlet extends SSLProxyServlet {
}
@Override
- protected void onProxyResponseSuccess(HttpServletRequest request, HttpServletResponse proxyResponse, Response response) {
- try {
- logFeResponse(request, response);
- } catch (Exception e) {
- FeEcompErrorManager.getInstance().logFeHttpLoggingError("FE Response");
- log.error(EcompLoggerErrorCode.UNKNOWN_ERROR,"FeProxyServlet onProxyResponseSuccess", "sdc-FE", "Unexpected FE response logging error: ", e);
+ protected void addProxyHeaders(HttpServletRequest clientRequest, Request proxyRequest)
+ {
+ Configuration config = getConfiguration(clientRequest);
+ if (config == null) {
+ log.error("failed to retrieve configuration.");
+ }
+ BasicAuthConfig basicAuth = config.getBasicAuth();
+ if (basicAuth.getEnabled()) {
+ proxyRequest.header(HttpHeader.AUTHORIZATION,
+ "Basic " + Base64.getEncoder().encodeToString((basicAuth.getUserName() + ":" + basicAuth.getUserPass()).getBytes()));
}
- super.onProxyResponseSuccess(request, proxyResponse, response);
+ super.addProxyHeaders(clientRequest, proxyRequest);
}
private void logFeRequest(HttpServletRequest httpRequest){
orator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
---
project: 'oom'
project_creation_date: '2017-06-15'
lifecycle_state: 'Incubation'
project_lead: &onap_releng_ptl
    name: 'Mike Elliott'
    email: 'mike.elliott@amdocs.com'
    id: 'melliott'
    company: 'Amdocs'
    timezone: 'Canada/Ontario'
primary_contact: *onap_releng_ptl
issue_tracking:
    type: 'jira'
    url: 'https://jira.onap.org/projects/OOM'
    key: 'OOM'
meetings:
    - type: 'zoom'
        agenda: 'https://wiki.onap.org/pages/viewpage.action?pageId=8228913'
        url: 'https://wiki.onap.org/pages/viewpage.action?pageId=8228913'
        server: 'n/a'
        channel: 'n/a'
        repeats: 'weekly'
        time: '14:00 UTC'
committers:
    - <<: *onap_releng_ptl
    - name: 'Alexis de Talhouƫt'
        email: 'adetalhouet89@gmail.com'
        company: 'Bell Canada'
        id: 'adetalhouet'
        timezone: 'Canada/Montreal'
    - name: 'Borislav Glozman'
        email: 'Borislav.Glozman@amdocs.com'
        company: 'Amdocs'
        id: 'BorislavG'
        timezone: 'Israel/Raanana'
    - name: 'Christophe Closset'
        email: 'cc697w@intl.att.com'
        company: 'ATT'
        id: 'ChrisC'
        timezone: 'Belgium/Namur'
    - name: 'Earle West'
        email: 'ehwest@gmail.com'
        company: ''
        id: 'ehwest'
        timezone: 'Belgium/Namur'
    - name: 'Hong Guan'
        email: 'hg4105@att.com'
        company: 'ATT'
        id: 'hg4105'
        timezone: ''
    - name: 'Rui Hu'
        email: 'hu.rui2@zte.com.cn'
        company: 'ZTE'
        id: 'hu.rui'
        timezone: ''
    - name: 'Jerome Doucerain'
        email: 'jerome.doucerain@bell.ca'
        company: 'Bell'
        id: 'jdoucerain'
        timezone: 'Canada/Montreal'
    - name: 'Jun (Nicolas) Hu'
        email: 'jh245g@att.com'
        company: 'ATT'
        id: 'jh245g'
        timezone: 'America/New York'
    - name: 'Mike Elliott'
        email: 'mike.elliott@amdocs.com'
        company: 'Amdocs'
        id: 'melliott'
        timezone: 'Canada/Ontario'
    - name: 'Mandeep Khinda'
        email: 'Mandeep.Khinda@amdocs.com'
        company: 'Amdocs'
        id: 'mkhinda'
        timezone: 'Canada/Ontario'
    - name: 'Xue Gao'
        email: 'xg353y@intl.att.com'
        company: 'ATT'
        id: 'xuegao'
        timezone: 'Belgium/Namur'
    - name: 'Yury Novitsky'
        email: 'Yury.Novitsky@Amdocs.com'
        company: 'Amdocs'
        id: 'yuryn'
        timezone: 'Israel/Raanana'
tsc:
    approval: 'https://lists.onap.org/pipermail/onap-tsc'