diff options
author | Kishore Reddy, Gujja (kg811t) <kg811t@research.att.com> | 2018-07-09 13:41:00 -0400 |
---|---|---|
committer | Kishore Reddy, Gujja (kg811t) <kg811t@research.att.com> | 2018-07-11 13:20:28 -0400 |
commit | a96a3e49cd472aa902c22143358b87562603d47c (patch) | |
tree | 7e97578788de44f6704252cf982af09adcc05e8d /ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/util | |
parent | 9ac542482e4710e5566d147ca7a7a42500628ba2 (diff) |
Adding User Auth and permission aaf services
Issue-ID: PORTAL-334
Change-Id: I2826f2a06f7d818d918ae5f45b500a8da78cec42
Signed-off-by: Kishore Reddy, Gujja (kg811t) <kg811t@research.att.com>
Diffstat (limited to 'ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/util')
2 files changed, 20 insertions, 6 deletions
diff --git a/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/util/EcompExternalAuthProperties.java b/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/util/EcompExternalAuthProperties.java index 87d4c1fd..d5d04326 100644 --- a/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/util/EcompExternalAuthProperties.java +++ b/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/util/EcompExternalAuthProperties.java @@ -51,6 +51,8 @@ public class EcompExternalAuthProperties { public static final String EXTERNAL_AUTH_PASSWORD = "extern_auth_password"; public static final String EXTERNAL_AUTH_URL = "extern_auth_url"; + + public static final String EXTERNAL_AUTH_VALIDATE_CREDENTIALS_URL = "extern_auth_validate_creds_url"; public static final String EXTERNAL_AUTH_USER_DOMAIN = "extern_auth_user_domain"; diff --git a/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/util/EcompExternalAuthUtils.java b/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/util/EcompExternalAuthUtils.java index 6f4ff29a..dc6559ab 100644 --- a/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/util/EcompExternalAuthUtils.java +++ b/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/util/EcompExternalAuthUtils.java @@ -38,6 +38,8 @@ package org.onap.portalsdk.external.authorization.util; import java.io.IOException; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import javax.xml.bind.DatatypeConverter; @@ -65,11 +67,11 @@ public class EcompExternalAuthUtils { public static final String EXT_ROLE_FIELD_OWNER = ".owner"; public static final String EXT_ROLE_FIELD_ADMIN = ".admin"; - public static HttpHeaders base64encodeKeyForAAFBasicAuth() throws Exception { - String userName = EcompExternalAuthProperties.getProperty(EcompExternalAuthProperties.EXTERNAL_AUTH_USER_NAME); - String encryptedPass = EcompExternalAuthProperties.getProperty(EcompExternalAuthProperties.EXTERNAL_AUTH_PASSWORD); - String decryptedPass = decryptPass(encryptedPass); - String usernamePass = userName + ":" + decryptedPass; + public static final Pattern VALID_USER_DOMAIN_ADDRESS_REGEX = + Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE); + + public static HttpHeaders base64encodeKeyForAAFBasicAuth(String username, String password) throws Exception { + String usernamePass = username + ":" + password; String encToBase64 = String.valueOf((DatatypeConverter.printBase64Binary(usernamePass.getBytes()))); HttpHeaders headers = new HttpHeaders(); headers.add("Authorization", "Basic " + encToBase64); @@ -77,7 +79,7 @@ public class EcompExternalAuthUtils { return headers; } - private static String decryptPass(String encrypted) throws Exception { + public static String decryptPass(String encrypted) throws Exception { String result = ""; if (encrypted != null && encrypted.length() > 0) { try { @@ -92,6 +94,16 @@ public class EcompExternalAuthUtils { } /** + * Validates, if given username has fully domain address + * @param String + * @return true or false + */ + public static boolean validate(String username) { + Matcher matcher = VALID_USER_DOMAIN_ADDRESS_REGEX.matcher(username); + return matcher.find(); + } + + /** * * It checks whether the namespace is matching or not * |