X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdbcapi%2Fauthentication%2FAafLurAndFish.java;h=d286df2939c467ee0cfd87dcce4d284080ee164c;hb=ece3a625175df4d74d890d67f584560630e9ed33;hp=2366452d44fd43b1a3472496ef55cbdeb5d9878d;hpb=8cc6c6c866bd3c7f73399da341587ed35320f6c3;p=dmaap%2Fdbcapi.git diff --git a/src/main/java/org/onap/dmaap/dbcapi/authentication/AafLurAndFish.java b/src/main/java/org/onap/dmaap/dbcapi/authentication/AafLurAndFish.java index 2366452..d286df2 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/authentication/AafLurAndFish.java +++ b/src/main/java/org/onap/dmaap/dbcapi/authentication/AafLurAndFish.java @@ -3,13 +3,14 @@ * org.onap.dmaap * ================================================================================ * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 IBM. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -20,10 +21,6 @@ package org.onap.dmaap.dbcapi.authentication; -import java.io.FileInputStream; -import java.io.IOException; -import java.util.Properties; - import org.apache.log4j.Logger; import org.onap.aaf.cadi.CadiException; import org.onap.aaf.cadi.LocatorException; @@ -33,18 +30,23 @@ import org.onap.dmaap.dbcapi.aaf.AafLurService; import org.onap.dmaap.dbcapi.aaf.DmaapPerm; import org.onap.dmaap.dbcapi.util.DmaapConfig; +import java.io.FileInputStream; +import java.io.IOException; +import java.util.Properties; + + - public class AafLurAndFish implements ApiAuthorizationCheckInterface { private AafLurService svc; - private static String api_namespace; + private static String apiNamespace; + private static final String ERROR="Error"; static final Logger logger = Logger.getLogger(AafLurAndFish.class); - + AafLurAndFish() throws AuthenticationErrorException { - + DmaapConfig p = (DmaapConfig)DmaapConfig.getConfig(); - api_namespace = p.getProperty( "ApiNamespace", "org.onap.dmaap-bc.api"); + apiNamespace = p.getProperty( "ApiNamespace", "org.onap.dmaap-bc.api"); String cadiprop = p.getProperty( "cadi.properties", "/opt/app/osaaf/local/org.onap.dmaap-bc.props"); logger.info( "cadiprops in " + cadiprop ); @@ -58,41 +60,50 @@ public class AafLurAndFish implements ApiAuthorizationCheckInterface { } } catch ( IOException e ) { logger.error( "Unable to load " + cadiprop ); - logger.error("Error", e); + logger.error(ERROR, e); throw new AuthenticationErrorException( ); } try { PropAccess myAccess = new PropAccess( props ); - + svc = AafLurService.getInstance(myAccess); } catch (APIException | CadiException | LocatorException e ) { - logger.error("Error", e); + logger.error(ERROR, e); logger.error( e.toString() ); throw new AuthenticationErrorException(); } - + } - + public void check( String mechid, String pwd, DmaapPerm p ) throws AuthenticationErrorException { - + try { - boolean resp = svc.checkPerm( api_namespace, mechid, pwd, p ); - boolean flag = false; - if ( resp == flag ) { + if (mechid.isEmpty() || pwd.isEmpty()) { + throw new AuthenticationErrorException("No basic authorization value provided"); + } + + if (!svc.checkPerm( apiNamespace, mechid, pwd, p )) { throw new AuthenticationErrorException(); } - } catch ( IOException | CadiException e ) { - logger.error("Error", e); + } catch ( IOException | CadiException e ) { + logger.error(ERROR, e); logger.error( e.toString() ); throw new AuthenticationErrorException(); } - + } - - public static void main(String[] args) throws Exception { + + public static void main(String[] args) throws Exception { AafLurAndFish alaf = new AafLurAndFish(); DmaapPerm p = new DmaapPerm( "org.onap.dmaap-bc.api.dmaap", "boot", "GET"); - - alaf.check("demo@people.osaaf.org", "demo123456!", p); + + try { + alaf.check("mmanager@people.osaaf.org", "demo123456!", p); + } catch (AuthenticationErrorException aee ) { + logger.error(aee); + logger.error( "Check failed for: " + p.toJSON()); + System.exit(-1); + } + logger.info("Check succeeded for: " + p.toJSON()); } }